Пустые комментарии в приложении Angular

Есть ли какой-либо параметр конфигурации, который удалит эти пустые комментарии и пробелы?

введите здесь описание изображения

Моя команда сборки — ng build --environment prod --progress false --target production, а tsconfig — это:

{
    "compileOnSave": false,
    "compilerOptions": {
        "alwaysStrict": true,
        "baseUrl": "/",
        "emitDecoratorMetadata": true,
        "experimentalDecorators": true,
        "forceConsistentCasingInFileNames": true,
        "lib": [ "es2015", "dom" ],
        "module": "es2015",
        "moduleResolution": "node",
        "newLine": "CRLF",
        "noFallthroughCasesInSwitch": true,
        "noImplicitAny": true,
        "noImplicitReturns": true,
        "noUnusedLocals": true,
        "noUnusedParameters": false,
        "outDir": "./dist/out-tsc",
        "removeComments": true,
        "skipDefaultLibCheck": true,
        "skipLibCheck": true,
        "strictNullChecks": true,
        "target": "es5",
        "typeRoots": [ "./node_modules/@types" ]
    }
}

@angular/cli: 1.0.4
node: 7.2.1
os: win32 x64
@angular/common: 4.1.3

Спасибо.


person Zygimantas    schedule 24.05.2017    source источник


Ответы (3)


Это генерируется на основе вашей директивы Angular, тега, условий (if, for...), поэтому это пустое место обязательно. Если вы удалите это, то он не будет вести себя хорошо, все двусторонние привязки исчезнут. Это пространство определяет, как ваш угловой DOM будет отображаться и привязываться к модели и переменным. Также комментарий отслеживать, где будет отображаться новый элемент DOM (при наличии условий и прочего).

Перейдите по этой ссылке для получения дополнительной информации: https://github.com/angular/angular.js/issues/8722

person Sandip - Frontend Developer    schedule 10.08.2017

Каждый из этих комментариев — это ViewContainerRef, который Angular использует, чтобы оставить место для выражения, которое может отображать представление.

когда у вас есть ngIf, если выражение оценивается как ложное, очевидно, Angular не будет отображать элемент, но как только оно станет истинным, он отобразит элемент, так как же он узнает, куда его поместить?

   <div *ngIf="expression"></div>

Конечно, существуют и другие привязки вычислений выражений и шаблонов представлений, но ngIf проще всего понять.

Вот откуда эти комментарии.

person Milad    schedule 11.08.2017

вы просто не можете!

Angular нуждается в этих комментариях, чтобы отслеживать многие вещи, например, где отображать содержимое *ngIf, поэтому длинные короткие комментарии должны быть в вашем HTML, иначе Angular просто не будет работать.

person Hamed Baatour    schedule 24.05.2017
comment
Эти комментарии отображаются как пустые только в инструментах разработчика Chrome? В противном случае я не вижу, как ‹!----› может помочь angular. У меня была идея, что параметр tsconfig removeComments не следует использовать с угловым приложением, но приложение странно работает, как и ожидалось. - person Zygimantas; 24.05.2017