Since one of the beta releases of version 5, Angular has a new compiler option, preserveWhitespaces
. The property is mentioned in CompilerOptions
type alias in the docs. The docs for the Component
decorator describe its usage, and mention that the default in version 5 is true
(no whitespace removal).
I've seen the PR, but from what I can tell from some tests is that the only way to use it is to supply preserveWhitespace
to every @Component
metadata. How can I set it to false
globally, for all components, and then set it to true
only for some components?
This will be false by default starting with angular 6
For now, in JIT mode we can set it as part of CompileOptions:
main.ts
platformBrowserDynamic().bootstrapModule(AppModule, { preserveWhitespaces: false });
For aot we have to add this option to
tsconfig.app.json
{ "extends": "../tsconfig.json", "compilerOptions": { "outDir": "../out-tsc/app", "baseUrl": "./", "module": "es2015", "types": [] }, "exclude": [ "test.ts", "**/*.spec.ts" ], "angularCompilerOptions": { "preserveWhitespaces": false } }
[email protected] example where you can find the corresponding commit
There is also feature request in angular-cli repo.
In order to set angular compiler options in AOT compile (ng serve --aot, ng build --prod) you must alter the tsconfig.app.json to include:
"angularCompilerOptions": { "preserveWhitespaces": true },
In order to set angular compiler options in JIT compile (ng serve) you must alter main.ts specifically the bootstrapModule call:
platformBrowserDynamic().bootstrapModule(AppModule, { preserveWhitespaces: true }) .catch(err => console.log(err));
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With