Как ускорить процесс сборки углов
После внесения некоторых изменений в мои файлы TypeScript каждая сборка занимает более 20 минут. Я запускаю эту команду: ng build --output-path=..\..\static\angularjs
.
Если я запускаю его в Microsoft PowerShell, ему нужно 25 - 30 секунд. Это много времени.
Enviroment
- Windows 10
- 8 GB-Ram
- PyCharm 64
- MS PowerShell
Как я могу ускорить это?
Ответы
Ответ 1
Моему приложению потребовалось 28 секунд для сборки, но я сократил время до 9 секунд. Использование этого флага
ng build --source-map=false
Вы можете увидеть разницу во времени, сравнивая время:
ng build --stats-json
ng build --stats-json --source-map=false
исходная карта предназначена только для отладки, надеюсь, это поможет
Ответ 2
Я обнаружил, что для меня эта проблема была решена с помощью watch
флага, т.е.
ng build --watch=true
Это выполняется постоянно и автоматически создает файлы только при сохранении. Из-за небольших изменений в коде время сборки уменьшилось с 8 секунд до <1 секунды, поскольку генерирует только файлы .js
для того, что действительно изменилось.
С https://angular.io/guide/deployment
Команда ng build
генерирует выходные файлы только один раз и не обслуживает их.
Команда ng build --watch
восстановит выходные файлы при изменении исходных файлов. Этот флаг --watch
полезен, если вы строите во время разработки и автоматически повторно развертываете изменения на другом сервере.
Вероятно, вы должны использовать ng build
с необходимыми опциями при сборке для производства, чтобы выполнить необходимые оптимизации.
Ответ 3
Согласно https://github.com/angular/angular-cli/issues/6795 использование --build-optimizer=false
ускоряет сборку.
Ответ 4
Это сократило мое время сборки до 50%
"optimization": false,
"outputHashing": "none",
"sourceMap": false,
"extractCss": true,
"namedChunks": false,
"showCircularDependencies": false,
"aot": true,
"extractLicenses": false,
"statsJson": false,
"progress": false,
"vendorChunk": true,
"buildOptimizer": false,
Ответ 5
В режиме разработки вы можете изменить этот флаг для своего развития на
"buildOptimizer": false
Это сработало для меня. Угловой 7.