Символ "ɵ" (греческая тэта) не экранируется при построении angular 8 - PullRequest
0 голосов
/ 16 апреля 2020

Я создаю angular 8 приложение для производства внутри Azure DevOps конвейера.

Хотя сборка завершается без ошибок, я получаю Uncaught SyntaxError: Unexpected token '??' в браузере во время выполнения.

Основной. js файл чанка, сгенерированный сборкой, содержит символ «ɵ» (греческая тэта), например: t.ɵcompilerFacade, который становится t.??compilerFacade при подаче в браузер.

Если я использую angular 7, символ "ɵ" экранируется в "\ u0275 "во время сборки, например: t.\u0275compilerFacade, которая отлично работает в браузере.

Кажется, это проблема кодирования.

Любая помощь будет оценена, спасибо.


ANGULAR 8 ОКРУЖАЮЩАЯ СРЕДА

пакет. json

"dependencies": {
    "@angular/animations": "~8.2.14",
    "@angular/common": "~8.2.14",
    "@angular/compiler": "~8.2.14",
    "@angular/core": "~8.2.14",
    "@angular/forms": "~8.2.14",
    "@angular/platform-browser": "~8.2.14",
    "@angular/platform-browser-dynamic": "~8.2.14",
    "@angular/router": "~8.2.14",
    ...
},
"devDependencies": {
    "@angular-devkit/build-angular": "~0.803.25",
    "@angular/cli": "~8.3.25",
    "@angular/compiler-cli": "~8.2.14",
    "@angular/language-service": "~8.2.14",
    ...
}

Файл, созданный после сборки

enter image description here


Файл подан

Chunk main.js file


Ошибка, отображаемая в консоли браузера

Browser console


ANGULAR 7 ОКРУЖАЮЩАЯ СРЕДА

пакет. json

"dependencies": {
    "@angular/animations": "~7.2.0",
    "@angular/common": "~7.2.0",
    "@angular/compiler": "~7.2.0",
    "@angular/core": "~7.2.0",
    "@angular/forms": "~7.2.0",
    "@angular/platform-browser": "~7.2.0",
    "@angular/platform-browser-dynamic": "~7.2.0",
    "@angular/router": "~7.2.0",
    ...
},
"devDependencies": {
    "@angular-devkit/build-angular": "~0.13.0",
    "@angular/cli": "~7.3.9",
    "@angular/compiler-cli": "~7.2.0",
    "@angular/language-service": "~7.2.0",
    ...
}

Файл, созданный после сборки

enter image description here


Файл обслуживается

enter image description here


В браузере не отображается ошибка

1 Ответ

0 голосов
/ 27 апреля 2020

У меня была та же проблема, которую мне удалось исправить, включив оптимизатор сборки. Установите "buildOptimizer": true в вашем файле angular.json. Это требует, чтобы компиляция AOT была включена.

В Angular9 есть опция "optimization" в том же блоке конфигурации, которая также, по-видимому, позволяет экранировать юникод, но не требует AOT.

...