Как собрать производственное приложение Angular8 для IE11 - PullRequest
1 голос
/ 11 марта 2020

Я столкнулся с проблемой при попытке запустить приложение сборки для IE11. Когда я запускаю подачу с - configuration = es5 - это работает. Но я строю с - конфигурация = es5 - я беру не prod версию. Как я могу собрать версию для IE11?

Мой список браузеров имеет "IE 9-11 # Для поддержки IE 9-11 удалите" not "."

My tsconfig. json имеет " target ":" es5 ".

My tsconfig-es5. app. json

{
  "extends": "./tsconfig.app.json",
  "compilerOptions": {
    "target": "es5"
  }
}

My angular. json

"architect": {
        "build": {
          "builder": "@angular-devkit/build-angular:browser",
          "options": {
            ...
          },
          "configurations": {
            "es5": {
              "tsConfig": "tsconfig-es5.app.json"
            },
            "production": {
              "fileReplacements": [{
                "replace": "src/environments/environment.ts",
                "with": "src/environments/environment.prod.ts"
              }],
              "optimization": true,
              "outputHashing": "none",
              "sourceMap": false,
              "extractCss": true,
              "namedChunks": false,
              "aot": true,
              "extractLicenses": true,
              "vendorChunk": false,
              "buildOptimizer": true,
              "budgets": [{
                  "type": "initial",
                  "maximumWarning": "2mb",
                  "maximumError": "5mb"
                },
                {
                  "type": "anyComponentStyle",
                  "maximumWarning": "6kb",
                  "maximumError": "10kb"
                }
              ]
            }
          }
        },
        "serve": {
          "builder": "@angular-devkit/build-angular:dev-server",
          "options": {
            "browserTarget": "charity:build"
          },
          "configurations": {
            "es5": {
              "browserTarget": "charity:build:es5"
            },
            "production": {
              "browserTarget": "charity:build:production"
            }
          }
        },
        ...
    }

Я пытаюсь добавить "compilerOptions": {"target": "es5"} для tsconfig.app. json, но я получаю сообщение об ошибке для IE11 (Google Chrome работает):

ERROR Sys.ParameterCountException: Sys.ParameterCountException: Несоответствие количества параметров.

Angular 8 не работает с IE, хотя подача работает нормально

1 Ответ

0 голосов
/ 12 марта 2020

Возможно, проблема связана с "build-optimizer" из Angular. Я ссылаюсь на этот поток и пытался отключить оптимизатор сборки, тогда он может хорошо работать в IE 11 с Angular 8.0.3.

Вы можете запустить ng build --prod --build-optimizer=false или изменить значение buildOptimizer в angular. json на false. Затем разверните производственные пакеты в папке dist на веб-сервере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...