我对整个平均堆栈非常陌生,并且试图在openshift上创建一个应用程序,但是无法呈现一个新的页面。
我只是不断地得到这个错误,不能用谷歌搜索的任何东西来解决它。
My Error:查找公共目录中的"/register“视图失败
它完全可以用app.get('/',func())在server.js中呈现索引页面,并尝试使用app.get(‘/寄存器)实现完全相同的操作。一开始我和'/‘有同样的问题,但是用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');发布于 2016-04-27 10:29:53
有几个问题。
1)不要对“寄存器”文件使用斜杠。这是/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几个注意事项:
https://stackoverflow.com/questions/36886788
复制相似问题