如何在Angular中将preserveWhitespaces选项全局设置为false?

时间:2017-09-02 22:02:00

标签: angular

自版本5的测试版之一以来,Angular有一个新的编译器选项preserveWhitespaces。该文档中的CompilerOptions type alias中提到了该属性。 Component装饰器的文档描述its usage,并提到版本5中的默认值为true(无空格删除)。

我见过the PR,但从我从某些测试中可以看出,使用它的唯一方法是为每个preserveWhitespace元数据提供@Component。如何将所有组件全局设置为false,然后仅将某些组件设置为true

2 个答案:

答案 0 :(得分:68)

默认情况下,从angular 6

开始,这将是false

目前,在JIT模式下,我们可以将其设置为CompileOptions的一部分:

<强> main.ts

var w = mydiv.offsetWidth;

我们必须将此选项添加到

<强> tsconfig.app.json

platformBrowserDynamic().bootstrapModule(AppModule, { preserveWhitespaces: false });

Angular-cli@1.4.5 example 您可以在其中找到相应的commit

angular-cli repo中也有feature request

答案 1 :(得分:0)

要在AOT编译(ng serve --aot,ng build --prod)中设置角度编译器选项,必须将tsconfig.app.json更改为包含以下内容:

"angularCompilerOptions": {
  "preserveWhitespaces": true
},


为了在JIT编译(ngserve)中设置有角度的编译器选项,您必须更改main.ts,特别是bootstrapModule调用:

platformBrowserDynamic().bootstrapModule(AppModule, {
  preserveWhitespaces: true
})
.catch(err => console.log(err));