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": "./concat-builds.js",
"build": "ng build --prod --output-hashing=none && npm run concat"
}
Не путайте сборки ES5 и ES2015, потому что команда Angular разделяет пакеты в зависимости от того, как загружаются модули (не специально для версии JavaScript).
Веб-браузеры, поддерживающие модули, будут загружать версии ES2015 вместо версий ES5, но оба рекомендуется указывать в Html.
Если вы хотите только один файл для использования, тогда вы вынуждены использовать более старую версию ES5 и должны предоставить его следующим образом:
<script src="elements-es5.js">
Рекомендуется предоставить оба файла следующим образом и браузер загрузит соответствующую версию:
<script src="elements-es5.js" nomodule defer>
<script src="elements-es2015.js" type="module">
Обратите внимание:
Старые браузеры игнорируют версию type="module"
, а новые браузеры пропускают nomodule
версия.