【问题标题】:Render html with node.js使用 node.js 渲染 html
【发布时间】:2016-08-21 13:43:47
【问题描述】:

我对整个 MEAN 堆栈真的很陌生,正在尝试在 openshift 上创建一个应用程序,但无法呈现新页面。

我只是不断收到此错误,并且无法使用我在 Google 上搜索的任何内容来解决它。

我的错误:无法在公共目录中查找视图“/register”

在 server.js 中使用 app.get('/', func()) 渲染索引页面完全正常,并尝试使用 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>

登录控制器

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');

【问题讨论】:

    标签: javascript html node.js express mean


    【解决方案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
    

    几点说明:

    【讨论】:

      猜你喜欢
      • 2020-06-27
      • 1970-01-01
      • 2017-09-02
      • 2014-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-05
      • 1970-01-01
      相关资源
      最近更新 更多