Команда nrwl nx для генерации lib для модуля nest
Я новичок в nrwl nx cli и тщательно изучил их документацию и не смог найти команду для создания модуля nestjs в виде lib, а не фактического модуля в приложении.
Причина, по которой я хочу создать модуль nestjs в виде lib, заключается в том, что у меня есть несколько приложений nestjs в моем моно-репо, и в соответствии с рекомендациями nrwl nx, если мне нужно поделиться кодом, который в моем случае является модулем, это должна быть библиотека,
Может кто-нибудь, пожалуйста, поделитесь командой, чтобы сделать следующее:-
- Создать модуль nestsjs в библиотеках
- Создайте сервис nestjs для этого модуля в папке libs
Буду признателен за любую оказанную помощь.
4 ответа
Я получил команду, которая, наконец, выполняет эту работу и делится с другими, если им нужна помощь
ng generate @nestjs/schematics:library mynestlib
Цитата из официальной документации Nx Workspace:
Создание библиотеки Добавление новых библиотек в рабочую область Nx выполняется с помощью команды генератора Angular CLI, как и добавление нового приложения.
ng generate lib mylib ng generate library mylib # same thing
Это создаст новую библиотеку, поместит ее в каталог libs и настроит
angular.json
а такжеnx.json
файлы для поддержки новой библиотеки.Бежать
ng generate lib --help
чтобы увидеть список доступных опций.
ng generate lib mylib --directory=myteam
создаст новое приложение вlibs/myteam/mylib
,
Если --directory
не определен, он спросит вас, в каком каталоге он должен быть сгенерирован, и какой фреймворк следует использовать (Angular или TS).
Если это не работает, пожалуйста, возможно, вам следует проверить версию Nx, а также angular.json
,
@nrwl/schematics
не может быть коллекцией по умолчанию, используемой в качестве упомянутой проблемы.
angular.json
"cli": {
"defaultCollection": "@nrwl/schematics",
"packageManager": "yarn"
},
Я столкнулся с той же проблемой в последнее время.
Хотя @Atul Chaudhary может решить проблему по-другому, я мог бы решить свою проблему после этого комментария .
Таким образом, вам просто нужно добавить новый файл в корневую папку вашей рабочей области nx и указать эту основную информацию в соответствии со структурой вашего проекта.
nest-cli.json
основной пример
{
"collection": "@nestjs/schematics",
"sourceRoot": "apps/api/src"
}
Надеюсь, это может помочь некоторым людям :)
Nx теперь имеет прямую поддержку NestJS через их@nrwl/nest
плагин . У них также есть этот учебник , который может оказаться полезным.