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и т.д...) решил проблему за меня.

Другие вопросы по тегам