Создайте компонент к специфическому модулю с угловым-CLI
Я начинаю использовать angular-cli, и я уже много читал, чтобы найти ответ о том, что я хочу do...no успех, поэтому я пришел сюда.
есть ли способ создать компонент для нового модуля?
например: ng g module newModule
ng g component newComponent (Как добавить этот компонент в newModule??)
потому что поведение по умолчанию angular-cli заключается в том, чтобы поместить все новые компоненты внутрь app.module. Я хотел бы выбрать, где будет мой компонент, чтобы я мог создать отдельные модули и не будет иметь все мои компоненты внутри app.module . Это можно сделать с помощью angular-cli или мне нужно сделать это вручную?
12 ответов:
для создания компонента в составе модуля необходимо
ng g module newModuleсоздать модуль,cd newModuleчтобы изменить каталог вnewModuleпапкуng g component newComponentдля создания компонента в качестве дочернего элемента модуля.
Не уверен, что, возможно, ответ Александра Цесельского был правильным на момент написания, но я могу проверить, что это больше не работает. Это не имеет значения, какой каталог в проекте вы запускаете угловой CLI. Если вы наберете
ng g component newComponentон будет генерировать компонент и импортировать его в приложение.модуль.файл TS
единственный способ использовать CLI для автоматического импорта его в другой модуль-это указать
ng g component moduleName/newComponentгде moduleName-это модуль, который у вас есть уже определено в вашем проекте. Если имя модуля не существует, он поместит компонент в каталог moduleName/newComponent, но все равно импортирует его в приложение.модуль
Я не нашел ответа, который показал, как использовать cli для создания компонента внутри папки модуля верхнего уровня, а также автоматически добавить компонент в коллекцию объявлений модуля.
для создания модуля выполните следующее:
ng g module fooчтобы создать компонент внутри папки модуля foo и добавить его в foo.модуль.коллекция объявлений ts запускает это:
ng g component foo/fooList --module=foo.module.tsи cli будет ремонтировать вне модуль и компонент вот так:
--EDIT новая версия углового cli ведет себя по-другому. 1.5.5 не требуется имя файла модуля, поэтому команда с v1.5. 5 должна быть
ng g component foo/fooList --module=foo
это то, что сработало для меня :
1 --> ng g module new-module 2 --> ng g c new-module/component-test --module=new-module/new-module.module.tsЕсли вы хотите создать компонент без его использования каталог
--flatфлаг.
используйте эту простую команду:
ng g c users/userlist
users: ваше имя модуля.
userlist: ваше имя компонента.
согласно Angular docs способ создания компонента для конкретного модуля,
ng g component <directory name>/<component name>"имя каталога" = где CLI сгенерировал модуль функции
пример:
ng generate component customer-dashboard/CustomerDashboardэто создает папку для нового компонента в папке customer-dashboard и обновляет модуль функций с помощью CustomerDashboardComponent
добавить компонент угловой 4 угловой приложения с помощью командной строки
добавить новый угловой 4 компонент в приложение, используйте команду
ng g component componentName. После выполнения этой команды Angular CLI добавляет папкуcomponent-nameподsrc\app. Кроме того, ссылки на то же самое добавляется в автоматически.компонент должен иметь
@Componentфункция декоратора, за которой следуетclassчто нужноexported. Элемент@Componentфункция декоратора принимает мета данные.добавить компонент в определенной папке угловой 4 угловой приложения с помощью командной строки
чтобы добавить новый компонент в определенную папку, используйте команду
ng g component folderName/componentName
У меня возникли аналогичные проблемы с несколькими модулями в приложении. Компонент может быть создан для любого модуля, поэтому перед созданием компонента нужно указать имя конкретного модуля.
'ng generate component newCompName --module= specify name of module'
Если у вас есть несколько приложений объявлена .угловой-кли.json (например, в случае работы с функциональным модулем)
"apps": [{ "name": "app-name", "root": "lib", "appRoot": "" }, {...} ]Вы можете :
ng g c my-comp -a app-name- a расшифровывается как -- app (name)
Here is my solutionng g c user/userComponent -m user.moduleэта команда создаст мой userComponent внутри моей папки пользовательского модуля.
надеюсь, это поможет кому-то. Спасибо

Comments