gpt4 book ai didi

node.js - 使用 Express 如何设置静态文件夹和动态内容的 View 文件夹

转载 作者:太空宇宙 更新时间:2023-11-03 23:00:46 33 4
gpt4 key购买 nike

这几行代码告诉 express 选择 ejs 作为 View 引擎,并在客户端访问时将 index.ejs 渲染为主页根目录。

const ejs = require('ejs');

app.set('view engine', 'ejs');

app.get('/', (req, res) => {
res.render('index');
});

但是,如果该网站也有静态目录,则这些说明将被忽略。

例如,此行将 public 设置为 html、css、js 和图像文件的默认静态目录。

app.use(express.static(__dirname + '/public'));

通过此初始化的express,会自动提供位于/public目录中的index.html文件,而不是渲染index.ejs。

问题:如何保留静态目录来存储大部分文件,并使用动态 View 呈现网站的主页和其他页面?他们似乎互相干扰。

提前非常感谢!

最佳答案

express.static只不过是链中的另一个中间件。我相信您已在自定义中间件之前添加了它(使用 app.use)。如果您像这样重新排序:

app.get('/', (req, res) => {
res.render('index');
});
app.use(express.static(__dirname + '/public'));

/ 的请求将首先到达您的中间件,并且由于您在那里完成响应,因此不会继续处理静态添加的中间件。

关于node.js - 使用 Express 如何设置静态文件夹和动态内容的 View 文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48873383/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com