ng build --prod НЕ минимизирует / не увеличивает / не удаляет комментарии, так как Angular CLI 6
Поскольку я обновил свое приложение Angular для использования версии Angular CLI 6.x
, собирая его для производства (используя ng build --prod
как обычно) не производит минимизированный js. Этот результат в очень большой vendor.js
Размер (в моем случае это почти 10 МБ).
Если я открою полученный vendor.js
файл, я четко вижу, что код не минимизирован и комментарии не удаляются.
1 ответ
Вопрос в angular.json
файл.
Под ключ projects.MY_PROJECT_NAME.architect.build.configurations.production
Мне не хватало всех опций, которые обычно появляются по умолчанию в production
Конфигурация при создании нового углового проекта.
Вот как production
Конфигурация должна выглядеть так, чтобы решить проблему:
"production": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts"
}
],
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"extractCss": true,
"namedChunks": false,
"aot": true,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": true
},
По некоторым причинам после обновления с предыдущих версий Angular CLI мой production
Конфигурация имела только fileReplacements
ключ. Добавление других свойств, показанных выше (optimization
, outputHashing
и т.д...) решил проблему за меня.