【发布时间】:2020-07-08 09:17:10
【问题描述】:
我以与往常一样的方式为我的 Angular 9 应用程序提供服务,这是我第一次遇到这个问题。
我不断收到以下错误:“加载模块脚本失败:服务器以“text/html”的非 JavaScript MIME 类型响应。
我已经在网上搜索了答案,但似乎找不到任何可以解决问题的方法。我所做的一切似乎都遵循给出的建议。我想知道这是否是 Angular v9 的新问题?
我的 express app.js 位于我的 Angular 项目的另一个文件夹中。以下是我的文件夹结构:
-
客户
- 分布
- index.html
- 分布
-
中层
- app.js
app.js:
app.use(express.static(__dirname + '/dist'));
app.get('*/', (req, res) => {
const indexFile = path.join(__dirname, '../client/dist/index.html');
res.sendFile(indexFile);
})
文件路径是正确的,我已经通过控制台记录了它,所有这些都加起来了。我将 angular.json 中的输出路径也更改为 dist 而不是另一个子文件夹。
我仍然收到此错误。有人可以帮忙吗?
【问题讨论】:
-
你没有提到你得到了什么错误。
-
你试过
res.sendFile('../client/dist/index.html', {root: __dirname })吗? -
@MorKadosh 哦,我很傻,谢谢你更新了我的问题。
-
你试过类似
app.use(express.static(path.join(__dirname, '../client/dist')))的东西吗? More here -
@DhruvShah 我在尝试使用它时收到“ForbiddenError: Forbidden”。
标签: node.js express angular9 production dirname