2016-04-27 11 views
1

私はMEANスタック全体で本当に新しく、openhiftでアプリケーションを作成しようとしていますが、新しいページをレンダリングできません。node.jsでhtmlをレンダリングする

私はこのエラーが発生しているだけで、私はグーグルで何かで解決することはできません。

マイエラー:パブリックディレクトリ内の「/レジスタ」ビューを検索できませんでした

それはapp.getとインデックス・ページをレンダリングするために、完全に正常に動作します(「/」、FUNC())サーバーで.jsとapp.get( '/ register)を使って全く同じことを試みました。以前は「/」と同じ問題を抱えていましたが、app.use(express.static(__ dirname + '/ public'))を使用して解決しました。

index.htmlとregister.htmlの両方がパブリックディレクトリにあります。

これらは、私のコードの抽出物である:

index.htmlを

<body ng-app=""> 
    <div class="container" ng-controller="LoginController" > 
     <h1>Logg in</h1> 
     <input class="form-control" placeholder="ID"/> 
     <input class="form-control" placeholder="Password"/> 
     <button class="btn">Logga in</button> 
     <button ng-click="open()" class="btn">Register User</button> 
    </div> 
</body> 

logincontroller

function LoginController($scope, $http) { 
console.log("Hello from Login"); 

    $scope.open = function() { 
     console.log('open i login.js'); 
     $http.get('/register') 
    }; 
}; 

server.js

var express = require('express'); 
var fs  = require('fs'); 
var mongojs = require('mongojs'); 
var jade = require('jade') 

var app = express(); 
var cors = require('cors'); 
var bodyParser = require('body-parser'); 

app.use(express.static(__dirname + '/public')); 
app.use(express.bodyParser()); 

app.get('/env',function(req, res){ 
    res.json(process.env); 
}); 

app.get('/', function (req, res) { 
    res.render('/index', {}); 
}); 

app.get('/register', function (req, res) { 
    res.render('/register'); 
}); 

app.set('view engine', 'jade'); 

答えて

2

いくつかの問題があります。

1) 'register'ファイルにスラッシュを使用しないでください。これは、フォルダまたはルートではなく、/publicフォルダ内のファイルです。

app.get('/register', function (req, res) { 
    res.render('register'); 
}); 

2)レンダリングエンジンとしてjadeを設定しました。つまり、.jade個のファイルが配信されます。パブリックフォルダのサイズはindex.jadeである必要があります。

html 
    body(ng-app='') 
    .container(ng-controller='LoginController') 
     h1 Logg in 
     input.form-control(placeholder='ID') 
     input.form-control(placeholder='Password') 
     button.btn Logga in 
     button.btn(ng-click='open()') Register User 

ノートのカップル:そしてそれは次のようになります

関連する問題