I usually generate classes with the angular 2 cli with the following command:
ng g class todo
How can I tell the cli to generate the classes in a particular folder, for example a models folder.
The documentation has an example where they generate a component in a specific folder but I've had no success with the class option
I've tried the following options:
ng g class models/todo
ng g class ../models todo
ng g class models todo
They result in either an error that the path is invalid, which makes me think that the option is supported but I can't figure it out or in the case of the latter merges the intended folder name with the class name.
We can use ng generate component command to create component in sub-directory or specific folder.
Generated items for the Angular CLI are relative...
if you are in the root dir (or the source dir) you are perceived to be in the app dir...
~/me/foo > ng g c bar // ~/me/foo/src/app/bar/bar.component* ~/me/foo/src > ng g c bar // ~/me/foo/src/app/bar/bar.component*
if you are in the app directory or further down the folder structure you will generate to where you are...
~/me/foo/src/app/feature > ng g c bar // ~/me/foo/src/app/feature/bar/bar.component* ~/me/foo/src/app/feature > ng g c ../bar // ~/me/foo/src/app/bar/bar.component*
Note: if you try to generate into a dir that does not exist, it will error...
~/me/foo/src/app > ng g c a/b/c/d/e/f/g/bar // Error
To create a todo component inside the models folder in your project, just make sure you are in the project's root folder and type:
ng g c /models/todo
Also, if you want to specify a the declaring module's file name, you can use the -m option.
For example, if you have a models module, and want to update that module for declare your new todo's component:
ng g c /models/todo -m model
Regards
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