【发布时间】: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
【问题讨论】: