2016-03-21 35 views
1

我正在使用路由(NodeJs作为后端)的Angular应用程序。通过页面路由工作正常,但当我尝试重新加载页面时,它给'无法加载路径/主页'。我浏览过并得到了几个解决方案,如THIS捕获所有路由加载空白页Angular NodeJs

我的代码是

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 

回答

1
app.get('/', function (req, res) { 
     res.render('index', { 
page: 'index' 
} 
    }); 

再出来到这一点你的配置,

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

它给了我错误是无法找到模块 'HTML' –

+0

应用。 set('view engine','html');尝试这个以及 –

+0

我会建议阅读你如何呈现页面表达更深入一点。 –