Як генерувати компоненти у певній папці з angular-cli?


221

Я використовую angualr4 з angular-cli, і я можу створити новий компонент за допомогою наступної команди.

E:\HiddenWords>ng generate component plainsight

Але мені потрібно створити дочірню складову всередині простору. Чи є спосіб зробити з кутовим-клі?


15
генеруйте компонент ваш / шлях / з / програми / програми / папки / простогляд
maxime1992

4
як згадується @Maxime, або CD в каталозі
Z. Bagley

Відповіді:


124

ng g component plainsight/some-nameРобить новий каталог , коли ми використовуємо його.

Кінцевим результатом буде:

plainsight/some-name/some-name.component.ts

Щоб уникнути цього, скористайтеся плоскою опцією, ng g component plainsight/some-name --flat і вона створить файли без створення нової папки

plainsight/some-name.component.ts

12
--flat варіант - це те, що я шукав!
невдача

1
@ user3611927 --flat - це відповідь, оскільки використовуватимуться існуючі папки та створюватимуть лише папки, які не існують. Ідеально !! Це має бути IMHO за замовчуванням
Ендрю День

40

Швидкий, простий і без помилок метод

тобто ви хочете створити компонент у app/componentпапці, після чого виконайте ці кроки

  1. Клацніть правою кнопкою миші папку, до якої потрібно створити компонент
  2. Виберіть Open in Command Promptваріант
  3. У новому терміналі (ви побачите вибраний шлях) та введіть ng g c my-new-component

Також ви можете перевірити цей процес за допомогою цього зображення

введіть тут опис зображення


1
Ви геній, або я просто придурливий стеопід ... Найкращий спосіб!
Ap0st0l

19

ng g c component-name

Для вказівки спеціального місцезнаходження: ng g c specific-folder/component-name

тут component-nameбуде створено всередині конкретної папки.

Similarl підхід може бути використаний для створення інших компонентів , таких як directive, pipe, service, class, guard, interface, enum, moduleі т.д.


12

більш короткий код для створення компонента: ng g c component-name
вказати його місцезнаходження:ng g c specific-folder/component-name


Додаткова інформація,
більш короткий код для створення директиви: ng g d directive-name
вказати його місцезнаходження:ng g d specific-folder/directive-name



4

Наведені вище параметри для мене не працювали, тому що на відміну від створення каталогу або файлу в терміналі, коли CLI генерує компонент, він додає шлях src / app за замовчуванням до введеного вами шляху.

Якщо я генерую компонент із основної папки додатків так (WRONG WAY)

ng g c ./src/app/child/grandchild 

Створений компонент був таким:

src/app/src/app/child/grandchild.component.ts

тому мені довелося лише набрати

ng g c child/grandchild 

Сподіваємось, це комусь допомагає


3

З вищезазначеними відповідями (в тому числі --flat) мені не пощастило , але для мене спрацювало:

cd path/to/specific/directory

Звідти я побіг ng g c mynewcomponent


1

Простий

ng g component plainsight/some-name

Це створить папку "простоту" та генерує якийсь іменний компонент всередині неї.


1

Спробуйте використовувати

ng g component plainsight/some-name.component.ts

Або спробуйте вручну, якщо ви відчуваєте себе комфортніше.


1

Опинившись у каталозі свого проекту. використання, cd path/to/directoryто використання ng g c component_name --spec=falseйого автоматизує все і не містить помилок

що g cзасіб генерації компонента


1

Перейдіть до папки проекту в командному рядку або в проектному терміналі.

Виконати cmd: ng gc ім'я компонента

введіть тут опис зображення


1

Angular CLI надає всі необхідні команди при розробці додатків. Для вашої конкретної вимоги ви можете легко використовувати ng g( ng generate), щоб виконати роботу.

ng g c directory/component-nameбуде генерувати component-nameкомпонент у directoryпапці.

Далі представлена ​​карта кількох простих команд, які ви можете використовувати у своїй програмі.

  1. ng g c comp-nameабо ng generate component comp-nameстворити компонент з назвою "comp-name"
  2. ng g s serv-nameабо ng generate service serv-nameстворити службу з назвою "serv-ім'я"
  3. ng g m mod-nameабо ng generate module mod-nameстворити модуль з назвою 'mod-name'
  4. ng g m mod-name --routingабо ng generate module mod-name --routingстворити модуль з назвою 'mod-name' з кутовою маршрутизацією

Сподіваюсь, це допомагає!

Щасти!


1

Якщо ви використовуєте VSCode, розгляньте можливість використання кутової консолі

Він надає інтерфейс для кутового CLI. Ви побачите можливість вказати шлях.

Кутова CLI надзвичайно потужна і розширювана. Насправді існує так багато можливостей, що розробникам корисно мати всі різні параметри конфігурації для кожної команди, доступної їм.

За допомогою кутової консолі ви отримаєте рекомендації та зможете підтягнути навіть найзабутіші та рідко використовувані функції!

Кутова консоль - це, перш за все, більш продуктивний спосіб роботи з тим, що надає Angular CLI.


0

По-перше, щоб створити компонент, вам потрібно використовувати: -

  • ng gcіменник

    Використовуючи вищезгадану команду, новий компонент буде створений у папці
    (назва компонента), яку ви вказали вище.

Але якщо вам потрібно створити компонент всередині іншого компонента або в певній папці: -

  • ng gcnamename / newComponentName

0

Необхідність використання --dryRun при використанні користувацького каталогу

Ви можете пройти свій власний шлях до каталогу разом із ngкомандою.

ng g c myfolder\mycomponent

Але є ймовірність, що ви пропустите заклинання шляху і буде створена нова папка або змінено цільовий каталог. З цієї причини dryRunдуже корисно. Він відображає висновок про те, як впливатимуть на зміни.
введіть тут опис зображення

Після перевірки результату ви можете запустити ту саму команду без -dвнесення змін.

--dryRun = true | false

Якщо це правда, запускається і повідомляє про діяльність, не виписуючи результатів.

За замовчуванням: false

Псевдоніми: -d

Офіційний документ: - https://angular.io/cli/generate

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.