2016-03-21 38 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

我會建議閱讀你如何呈現頁面表達更深入一點。 –