tom*_*456 3 node.js express angularjs
要配置我的Expressjs应用程序,我有这两行(以及其他):
...
app.use(express.static(__dirname + '/public'));
app.use(app.router);
...
Run Code Online (Sandbox Code Playgroud)
我已经读过,建议将路由器放在静态之前,但是当我做Angularjs应用程序时会呈现一个空白页面.当它们按所示顺序显示时,视图会正常呈现.
为什么是这样?
最好用一个例子来解释.比方说,你有一个en.json文件,你也有一条路线:
app.get('/en.json', function(req, res) {
res.send('some json');
});
Run Code Online (Sandbox Code Playgroud)
如果你放
app.use(app.router);
Run Code Online (Sandbox Code Playgroud)
之前
app.use(express.static(__dirname + '/public'));
Run Code Online (Sandbox Code Playgroud)
路由器将优先于静态文件,用户将看到some json,否则en.json将提供文件.
因此,如果您没有这样的碰撞,那么您选择的订单无关紧要.
PS请注意,如果您使用的是Express 4,则可能会看到以下错误:
Error: 'app.router' is deprecated!
Please see the 3.x to 4.x migration guide for details on how to update your app.
Run Code Online (Sandbox Code Playgroud)
在维基页面@HectorCorrea已经在评论中分享了这个错误的解释:
no more app.use(app.router)
All routing methods will be added in the order in which they appear
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助
| 归档时间: |
|
| 查看次数: |
7326 次 |
| 最近记录: |