禁止自动路由到index.html

时间:2017-12-22 13:42:38

标签: javascript express routing

我已经使用Node& amp;表达。除GET /外,所有路线都有效。它不是显示我发送的文件,而是始终显示index.html(也在公共文件夹中)。如果我将index.html重命名为其他内容或删除它,我的GET /路由确实有效。

const publicPath = path.join(__dirname, '../public');

app.use(express.static(publicPath));

app.get('/', (req, res) => {
    res.sendFile(publicPath + '/login-register.html');
});

有没有办法抑制index.html的自动渲染?

编辑:在我的控制台和Chrome开发工具中都没有错误,可能会有用。

1 个答案:

答案 0 :(得分:2)

这是因为static中间件与/路由匹配,因为目录中有index.html文件并将该文件发送到浏览器。第二个中间件函数永远不会运行,因为/路由已匹配。如果切换中间件功能的顺序'声明,它应该按照你期望的方式工作。

app.get('/', (req, res) => {
  res.sendFile(publicPath + '/login-register.html');
});

app.use(express.static(publicPath));