2017-05-24 63 views
3

是否有任何配置设置可以删除这些空白的评论和空白?Angular应用程序中的空评论

enter image description here

我生成命令是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" ] 
    } 
} 

@角/ CLI:1.0.4
节点:7.2.1
OS:win32的64
@angular/common:4.1.3

谢谢。

回答

1

你根本做不到!

Angular需要这些注释来跟踪很多事情,比如在哪里呈现*ngIf内容 ,所以长时间的短消息评论需要在您的HTML或Angular中无法正常工作。

+0

这些注释仅在Chrome开发人员工具中显示为空吗?否则,我不明白如何可以帮助角。我有一个想法,tsconfig选项“removeComments”不应该与一个角度的应用程序一起使用,但应用程序奇怪地按预期工作。 – Zygimantas

1

这是根据您的Angular指令,标签,条件(如果...)生成的,因此需要空格。如果你删除它,那么它将表现不好,所有双向绑定将消失。那些空间确定你的角度DOM将如何呈现并绑定到模型和变量。此外,注释会跟踪新DOM元素将呈现的位置(如果条件和其他)。

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

1

这些评论的每一个是角度使用,以保持对现场可能呈现视图的表达ViewContainerRef

当你有一个ngIf,如果表达式被评估为false,显然Angular不会呈现该元素,但只要它变为true,它就会呈现该元素,那么它如何知道它放在哪里呢?

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

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

这就是这些意见来自何方。

相关问题