我像往常一样为我的角9应用程序服务,这是我第一次遇到这个问题。
我一直收到以下错误:“加载模块脚本失败:服务器响应非JavaScript类型的"text/html”。
我在网上搜索过答案,似乎找不到任何能解决问题的方法。我所做的每一件事似乎都坚持给出的建议。我想知道这是否是角v9的一个新问题?
我的快递app.js位于另一个文件夹中,我的角度项目。下面是我的文件夹结构:
- dist
- index.html- app.jsapp.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,而不是另一个子文件夹。
我还是会犯这个错误。有人能帮忙吗?
发布于 2020-07-08 09:34:12
为此,您必须使用express.static():
app.use(express.static(path.join(__dirname, '../client/dist')))这里的问题是,您总是使用index.html文件进行响应,如果该文件包含一些<script>标记,那么浏览器可能会接收到一个.js文件,但是您的服务器会使用一个.html文件进行响应,这就是您得到错误的原因。
发布于 2020-07-08 09:35:15
非常感谢sebastian-kaczmarek的这一解决方案。
工作答案如下:
app.use(express.static(path.join(__dirname, '../client/dist')))谢谢您一直鼓励我。
https://stackoverflow.com/questions/62791476
复制相似问题