Angular 4:运行命令后:ng build
我有这个结构
0.chunk.js favicon.ico polyfills.bundle.js.map
0.chunk.js.map index.html scripts.bundle.js
1.chunk.js inline.bundle.js scripts.bundle.js.map
1.chunk.js.map inline.bundle.js.map styles.bundle.js
2.chunk.js main.bundle.js styles.bundle.js.map
2.chunk.js.map main.bundle.js.map vendor.bundle.js
assets polyfills.bundle.js vendor.bundle.js.map
scripts.bundle.js
和vendor.bundle.js
之间有什么区别?
我认为不同之处在于,scripts.bundle.js
包含所有外部.js
文件,而vendor.bundle.js
包含所有已创建的模块。
修改
但我可以将
.js
中的node_modules
个文件导入vendor.bundle.js
和scripts.bundle.js
。最好的方法是:将.js
个文件导入模块或将其添加到.angular-cli.json
sscripts
对象中?
〜非常感谢你的帮助!
答案 0 :(得分:6)
scripts.bundle.js
表示您在scripts
中配置的.angular-cli.json
部分
vendor.bundle.js
包含您在npm modules
中引用的app.module
。
更好的方法来确定捆绑包内的内容是使用 webpack-bundle-analyzer
将"analyze": "ng build --prod --stats-json && webpack-bundle-analyzer dist/stats.json",
添加到package.json
,npm install webpack-bundle-analyzer
运行npm run analyze
后
scripts
.angular-cli.json
部分的目的是处理遗留脚本,但您也可以使用它来改善延迟加载的故事。只说你的块依赖于某些特定的npm module
。在这种情况下,不需要将npm模块放在vendor.bundle.js
中,因为它可以在加载相关块之前加载。
有关https://github.com/angular/angular-cli/wiki/stories-global-scripts
上的脚本部分的更多详细信息