Создайте компонент к специфическому модулю с угловым-CLI



Я начинаю использовать angular-cli, и я уже много читал, чтобы найти ответ о том, что я хочу do...no успех, поэтому я пришел сюда.



есть ли способ создать компонент для нового модуля?



например: ng g module newModule



ng g component newComponent (Как добавить этот компонент в newModule??)



потому что поведение по умолчанию angular-cli заключается в том, чтобы поместить все новые компоненты внутрь app.module. Я хотел бы выбрать, где будет мой компонент, чтобы я мог создать отдельные модули и не будет иметь все мои компоненты внутри app.module . Это можно сделать с помощью angular-cli или мне нужно сделать это вручную?

655   12  

12 ответов:

для создания компонента в составе модуля необходимо

  1. ng g module newModule создать модуль,
  2. cd newModule чтобы изменить каталог в newModule папку
  3. ng g component newComponent для создания компонента в качестве дочернего элемента модуля.

Не уверен, что, возможно, ответ Александра Цесельского был правильным на момент написания, но я могу проверить, что это больше не работает. Это не имеет значения, какой каталог в проекте вы запускаете угловой CLI. Если вы наберете

ng g component newComponent

он будет генерировать компонент и импортировать его в приложение.модуль.файл TS

единственный способ использовать CLI для автоматического импорта его в другой модуль-это указать

ng g component moduleName/newComponent

где moduleName-это модуль, который у вас есть уже определено в вашем проекте. Если имя модуля не существует, он поместит компонент в каталог moduleName/newComponent, но все равно импортирует его в приложение.модуль

ng g component nameComponent --module=app.module.ts

Я не нашел ответа, который показал, как использовать cli для создания компонента внутри папки модуля верхнего уровня, а также автоматически добавить компонент в коллекцию объявлений модуля.

для создания модуля выполните следующее:

ng g module foo

чтобы создать компонент внутри папки модуля foo и добавить его в foo.модуль.коллекция объявлений ts запускает это:

ng g component foo/fooList --module=foo.module.ts

и cli будет ремонтировать вне модуль и компонент вот так:

enter image description here

--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: ваше имя компонента.

для углового v4 и выше, просто используйте:

ng g c componentName -m ModuleName

согласно 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 solution

ng g c user/userComponent -m user.module

эта команда создаст мой userComponent внутри моей папки пользовательского модуля.

надеюсь, это поможет кому-то. Спасибо

Comments

    Ничего не найдено.