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 }));
我正在使用带有 --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 }));