提供 js 文件的奇怪的表达行为

问题描述 投票:0回答:1

我遇到 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”

node.js express backend
1个回答
0
投票

在您的视图中,您需要添加 基本 URL 标签

<base href="/" target="_blank">

HTML 元素指定用于所有相关的基本 URL 文档中的 URL

© www.soinside.com 2019 - 2024. All rights reserved.