【问题标题】:Catch all routes loading blank page Angular NodeJs捕获加载空白页面Angular NodeJs的所有路由
【发布时间】:2016-07-07 22:35:42
【问题描述】:

我正在使用路由(NodeJs 作为后端)开发 Angular 应用程序。通过页面路由工作正常,但是当我尝试重新加载页面时,它给出了“无法加载路径 /home”。我浏览并找到了一些解决方案,例如THIS

我的代码是

app.get('*', function (req, res) {
        res.sendFile('mypath/index.html');
    });

但这会加载空白页面。有什么办法可以解决这个问题吗?

这就是我的 server.js 的样子

var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var methodOverride = require('method-override');

var port = process.env.PORT || 8080; // set our port
var staticdir = process.env.NODE_ENV === 'production' ? 'dist.prod' : 'dist.dev'; // get static files dir

// get all data/stuff of the body (POST) parameters
app.use(bodyParser.json()); // parse application/json
//app.use(bodyParser.json({ type: 'application/vnd.api+json' })); // parse application/vnd.api+json as json
//app.use(bodyParser.urlencoded({ extended: true })); // parse application/x-www-form-urlencoded

app.use(methodOverride('X-HTTP-Method-Override')); // override with the X-HTTP-Method-Override header in the request. simulate DELETE/PUT
app.use(express.static(__dirname + '/' + staticdir)); // set the static files location /public/img will be /img for users
// routes ==================================================
app.set('views', __dirname + '/app');
app.set('view engine', 'html');
require('./devServer/routes')(app); // configure our routes

// start app ===============================================
app.listen(port);                   // startup our app at http://localhost:8080
console.log('Starting sever on port ' + port);       // shoutout to the user
exports = module.exports = app;             // expose app

【问题讨论】:

    标签: angularjs node.js


    【解决方案1】:
    app.get('/', function (req, res) {
            res.render('index', {
    page: 'index'
    }
        });
    

    然后将其放入您的配置中,

    app.set('views',  'directory where index.html is');
    

    【讨论】:

    • app.set('view engine', 'html');也试试这个
    • 我建议您更深入地阅读有关如何以 express 呈现页面的内容。
    • 我已经发布了 server.js 文件代码。你能看看吗?
    • 也添加这两行,var swig = require('swig'); app.engine('html', swig.renderFile);
    猜你喜欢
    • 1970-01-01
    • 2021-08-13
    • 2018-11-16
    • 2020-09-12
    • 2016-02-09
    • 2021-09-18
    • 1970-01-01
    • 2021-05-22
    • 2011-08-11
    相关资源
    最近更新 更多