我遇到 Express 的奇怪行为。我尝试根据查询提供 ejs 文件。同时我配置了静态文件。 我的静态文件配置如下所示:
app.use(express.static(path.join(__dirname, 'public')));
我的路线:
router.get('/blog/:id', (req, res, next) => {
res.render(`blogPost_${req.params.id}`, {
path: `blog/${req.params.id}`,
pageTitle: req.params,
result: undefined,
});
});
而我的ejs blogPost_abc就是一个典型的html文件。当我使用 src 添加到我的 ejs 文件脚本标记时,问题就开始了:
<script src="./test.js"></script>
然后在浏览器中,当我得到 /blog/abc express 时,将其解析为 /blog/test.js 并抛出错误:
Refused to execute script from 'http://localhost:5000/blog/test.js' because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled.
在终端中:
Error: Cannot find module 'js'
当然我的视图引擎设置为ejs。为什么浏览器请求 .js 文件甚至很困难,我明确想要“abc”