Configure Defaults for Generating Code with Angular CLI

Bram Borggreve
InstructorBram Borggreve

Share this video with your friends

Send Tweet
Published 6 years ago
Updated 5 years ago

The default Angular CLI configuration generates components that consist of 4 files. The component class, an HTML template, a stylesheet and a spec file that contains the unit test.

In order to keep our components concise we update our AppComponent and move the template and style from an external file to inline. This allows us to delete the 2 external files.

We can configure our project to generate the template and the style 'inline' by default.

To do this we run the commands:

ng config schematics.@schematics/angular.component.inlineStyle true
ng config schematics.@schematics/angular.component.inlineTemplate true

The changes are made to angular.json in the project root.

Instructor: [00:00] By default, the Angular CLI creates components with an external template and style sheet. In our app component, we rename the template URL property to template, and add the content inside a string literal.

[00:12] We rename style URLs to styles, and set the value to an array with string literal. After this is done, we can remove the external files that are no longer used. We can use the ngConfig command to set the defaults for a specific schematic, schematic Angular in this case.

[00:30] We set inline style and inline template to true. If we check angular-cli.json in our project root, we see that the defaults are stored there.

Brent Mitchell
Brent Mitchell
~ 6 years ago

There is a little typo in the transcript. The "style" declaration should be "styles".

Kevin Clark
Kevin Clark
~ 5 years ago

For demo purposes, I understand why you might not want template files, but sometimes there are better and easier to manage outside the component. Is this just your preference?

Bram Borggreve
Bram Borggreveinstructor
~ 5 years ago

Hey Kevin, it's indeed my preference.

I try to keep my templates short so they can live inside the component.

Also, in WebStorm the 'intellisense' works the same when the template is inline or external, in VS Code that works better when they are outside. :-)