Nid*_*eph 18 angular-cli angular ng-build angular8
在执行ng build --prod --base-href ./来构建我的cordova应用程序时,最终输出将引发如下错误。
无法加载模块脚本:服务器以非JavaScript MIME类型“”响应。根据HTML规范对模块脚本强制执行严格的MIME类型检查。
我最终通过将类型模块更改为text / javascript来解决此问题
src =“ runtime-es2015.858f8dd898b75fe86926.js” type =“ module”>
src =“ runtime-es2015.858f8dd898b75fe86926.js” type =“ text / javascript”>
在angular.json文件中是否可以解决某些问题,还是我在这里错过了什么?
我遇到过同样的问题。
构建了生产版本
"build-production": "ng build --configuration=production --extract-css=false --prod --aot"
Run Code Online (Sandbox Code Playgroud)部署到NGINX
固定
更新tsconfig.json
"target": "es5",
Run Code Online (Sandbox Code Playgroud)
然后重建应用程序并再次部署。
该解决方案为我工作,现在我已部署的应用程序中包含内容。
希望对别人有帮助
您必须将文件“tsconfig.json”中的属性“target”更改为“es5”。阅读这篇博客文章“默认的差异加载”:
此属性根据浏览器功能在现代 JavaScript 或旧版 JavaScript 之间进行选择:
<script type="module" src="…"> // 现代JS
<script nomodule src="…"> // 传统 JS
小智 6
创建角度/电子应用程序时,我也遇到同样的问题(类似)。
我在这里按照以下步骤操作:
https://alligator.io/angular/electron/
当我运行电子应用程序时,我只是得到一个空白屏幕(白色)。使用开发工具检查应用程序时,在控制台中会收到一些错误消息,例如:
无法加载模块脚本:服务器以非JavaScript MIME类型“”响应。根据HTML规范对模块脚本强制执行严格的MIME类型检查。
这些出现在dist / index.html文件中存在的所有JS包含文件中。
我必须手动浏览所有脚本标签(像这样):
<script src="runtime-es2015.858f8dd898b75fe86926.js" type="module">
Run Code Online (Sandbox Code Playgroud)
并更改它们以包括mime类型:
<script src="runtime-es2015.858f8dd898b75fe86926.js" type="text/javascript">
Run Code Online (Sandbox Code Playgroud)
只有这样,它才能在电子窗口内工作。但是,如果我使用“ ng serve”运行项目,并查看由angular提供的网页,那么它就可以正常工作。
我认为这与从文件系统本地加载文件而不提供mime类型有关,而从网络服务器提供文件时,会提供mime类型。
| 归档时间: |
|
| 查看次数: |
3197 次 |
| 最近记录: |