【问题标题】:Node js 404 and angular url refresh conflict节点 js 404 和 Angular url 刷新冲突
【发布时间】:2015-04-20 07:34:08
【问题描述】:

我正在制作一个 Nodejs 和 Angular js 应用程序。当有人在 url 上键入并输入它时,我必须加载一个页面。它工作正常,直到我还制作了一个脚本来重定向到 404 错误页面。现在的问题是这两个脚本只有一个标准有效。当 404 重定向工作时,我无法转到在浏览器上键入 url 的页面,当工作正常时,404 页面被重定向到索引。 html。

这是我使用的两个脚本。

app.use(function(req, res) {
    res.render('404', {layout: false, title: '404: File Not Found'});
});

app.use('/*', function (req, res) {
   res.sendFile(__dirname + '/public/index.html');
});

我在这里做错什么了吗?除此之外,我还有我的一般路线,当我从导航中单击它时,这些路线在 Angular 应用程序中运行良好。

【问题讨论】:

标签: javascript angularjs node.js nodes angularjs-routing


【解决方案1】:

将 404 处理程序代码放在末尾(必须是最后一条路线

像这样使用你的代码:

app.use('/*', function (req, res) {
   res.sendFile(__dirname + '/public/index.html');
});

app.use(function(req, res) { //put this at end
    res.status(404);//add this line for setting 404 status
    res.render('404', {layout: false, title: '404: File Not Found'});
});

【讨论】:

    【解决方案2】:

    404 路线必须是最后一条路线。

    【讨论】:

      【解决方案3】:

      把这个放在你的 404 路由之前:

      app.use('/reload/reload.js', express.static('node_modules/reload/lib/reload.js'));
      

      【讨论】:

        猜你喜欢
        • 2016-06-08
        • 1970-01-01
        • 2017-12-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多