res.redirect 不使用模板时不工作

res.redirect not working when using no template

我正在使用带有 --no-view 标志的 express 生成器制作一个项目,当我尝试将响应重定向到网站(例如:www.google.com)时,它不起作用(代码下):

router.get('/', function(req, res, next) {
res.redirect('https://www.google.com')
});

上面的代码实际上渲染了 index.html(默认),所以这次我尝试使用像 pug 这样的模板引擎重现同样的问题,但是这次重定向成功了。

我的问题是,为什么在不使用模板引擎的情况下,无论我在其中放入什么代码,/ 路由总是呈现 index.html?

index.html 文件由以下行提供,因为项目是在没有视图的情况下创建的(因此,app.js 不会有与设置视图引擎相关的代码)。

app.use(express.static(path.join(__dirname, "public")));

根据documentation,默认情况下将直接提供指定的index 文件。您可以通过将 index 设置为 false 来禁用它,如下所示。

app.use(express.static(path.join(__dirname, "public"), { index: false }));