Angular 申请中的空评论

Empty comments in Angular application

是否有任何配置设置可以删除这些空注释和空格?

我的构建命令是 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
节点:7.2.1
os: win32 x64
@angular/common: 4.1.3

谢谢。

你根本做不到!

Angular 需要这些注释来跟踪许多事情,例如在何处呈现 *ngIf 内容 所以长话短说的评论需要在你的 HTML 或 Angular 中根本行不通。

这是根据您的 Angular 指令、标记、条件(if、for...)生成的,因此需要此 空白 space .如果你删除它那么它就不会表现良好,所有两种方式的绑定都会消失。这些 space 决定 您的 angular DOM 将如何渲染和绑定到模型和变量。此外,评论 跟踪新 DOM 元素将呈现的位置 (如果条件和其他)。

请参阅此 link 了解更多信息:https://github.com/angular/angular.js/issues/8722

这些评论中的每一个都是 ViewContainerRef,Angular 用来为可以呈现视图的表达式保留位置。

当你有一个ngIf时,如果表达式被评估为false,显然Angular不会渲染元素,但是一旦它变为true,它就会渲染元素,那么如何它知道放在哪里吗?

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

当然还有其他表达式求值和视图模板绑定,但是ngIf是最容易理解的

这就是那些评论的来源。