Angular 不会将 JavaScript 文件捆绑到单个文件中。
您可以添加构建步骤将文件连接在一起。
concat-build.js:
var concat = require('concat');
const es5 = ['./dist/app/runtime-es5.js','./dist/app/polyfills-es5.js','./dist/app/main-es5.js'];
const es2015= ['./dist/app/runtime-es2015.js','./dist/app/polyfills-es2015.js','./dist/app/main-es2015.js'];
concat(es5, './dist/app/elements-es5.js');
concat(es2015, './dist/app/elements-es2015.js');
包.json:
"scripts": {
"concat": "node ./concat-builds.js",
"build": "ng build --prod --output-hashing=none && npm run concat"
}
不要对 ES5 和 ES2015 版本感到困惑,因为 Angular 团队根据模块的加载方式(不是专门针对 JavaScript 版本)来拆分捆绑包。
支持模块的 Web 浏览器将加载 ES2015 版本而不是 ES5 版本,但是both建议放在 Html 中。
如果你只想要一个single要使用的文件,那么您将被迫使用旧的 ES5 版本,并且应按如下方式提供:
<script src="elements-es5.js">
建议按如下方式提供两个文件,浏览器将加载适当的版本:
<script src="elements-es5.js" nomodule defer>
<script src="elements-es2015.js" type="module">
请注意:
较旧的浏览器会忽略type="module"
版本,较新的浏览器将skip the nomodule
版本。