Визуализировать html с помощью node.js

Я действительно новичок во всем стеке MEAN и пытаюсь создать приложение на openshift, но не могу отобразить новую страницу.

Я просто продолжаю получать эту ошибку и не могу решить ее ни с чем, что я искал в Google.

Моя ошибка: не удалось найти представление "/ регистрация" в общедоступном каталоге

Он отлично работает для рендеринга индексной страницы с помощью app.get ('/', func ()) в server.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');

person Johanna    schedule 27.04.2016    source источник


Ответы (1)


Есть пара проблем.

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

Пара замечаний:

person psiphi75    schedule 27.04.2016