Как сгенерировать ваши классы в определенной папке с помощью Angula2 CLI?

Я обычно генерирую классы с помощью angular 2 cli со следующей командой:

ng g class todo

Как я могу сказать cli для создания классов в определенной папке, например, в папке с образцами.

В документации есть пример, где они генерируют компонент в определенной папке, но я не имел успеха с вариантом класса

Я пробовал следующие параметры:

ng g class models/todo

ng g class ../models todo

ng g class models todo

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

Ответ 1

Сгенерированные элементы для CLI Angular являются относительными...

если вы находитесь в корневом каталоге (или исходном каталоге), вы, как предполагается, находитесь в приложении 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*

если вы находитесь в каталоге приложения или дальше по структуре папок, которые вы создадите, где вы находитесь...

~/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*

Примечание: если вы пытаетесь сгенерировать в директорию, которая не существует, она будет ошибкой...

~/me/foo/src/app > ng g c a/b/c/d/e/f/g/bar
// Error

Ответ 2

Чтобы создать компонент todo внутри папки моделей в вашем проекте, просто убедитесь, что вы находитесь в корневой папке проекта и введите:

ng g c/models/todo

Кроме того, если вы хотите указать имя файла объявляющего модуля, вы можете использовать опцию -m.

Например, если у вас есть модуль моделей и вы хотите обновить этот модуль для объявления нового компонента todo:

ng g c/models/todo -m model

Привет

Ответ 3

ng generate component my-new-component

ng g component my-new-component # using the alias

компоненты поддерживают относительное формирование пути

если в каталоге src/app/feature/ и вы запустите

ng g component new-cmp

ваш компонент будет сгенерирован в src/app/feature/new-cmp

но если вы запустите

ng g component ../newer-cmp

ваш компонент будет сгенерирован в src/app/newer-cmp

который также работает для классов

check: Github angular -cli

Ответ 4

 ng g cl model/UserInfo
works fine in angular5

Ответ 5

добавив к Картикеяну Карунанити простой ответ,

ng g i model/UserInfo

отлично работает, если вы хотите интерфейс...