【发布时间】:2021-02-26 13:11:12
【问题描述】:
我有一个 Angular 10 项目,其中编译的资产文件下载了两次。从附图中可以看出,runtime-es2015.js、polyfills-es2015.js 和main-es2015.js 都下载了两次。
检查这些文件的内容后,发现有可疑代码似乎在提示脚本重新下载自身。我正在努力找出为什么它包含在编译代码中:
var a,f=document.createElement("script");f.charset="utf-8",f.timeout=120,c.nc&&f.setAttribute("nonce",c.nc),f.src=function(e){return c.p+""+({0:"common"}[e]||e)+"-es2015."+ .....
我发现的所有其他答案都表明这是由于 Angular 的不同加载而导致的预期行为,但我相信并非如此。重复文件具有完全相同的内容,而如果这是 Angular 的差异加载,我希望文件内容会有所不同,并且文件内容也会被命名为 -es5 而不是 -es2015。我们已经在这样的代码中处理了差异加载:
<script type="module" type="text/javascript" src="angular/runtime-es2015.js?ver={{ config('assets.assets_version') }}"></script>
<script type="module" type="text/javascript" src="angular/polyfills-es2015.js?ver={{ config('assets.assets_version') }}"></script>
<script type="module" type="text/javascript" src="angular/main-es2015.js?ver={{ config('assets.assets_version') }}"></script>
<script nomodule type="text/javascript" src="angular/runtime-es5.js?ver={{ config('assets.assets_version') }}"></script>
<script nomodule type="text/javascript" src="angular/polyfills-es5.js?ver={{ config('assets.assets_version') }}"></script>
<script nomodule type="text/javascript" src="angular/main-es5.js?ver={{ config('assets.assets_version') }}"></script>
为什么编译后的文件中会包含可疑代码?对此的任何帮助将不胜感激。
【问题讨论】:
标签: javascript angular compilation