У меня есть интегрированное рабочее пространство NX, в котором есть приложение Angular и приложение Nativescript. Я пытаюсь добавить приложение Nest.js через @nx/nest. Всякий раз, когда я добавляю новое приложение, оно устанавливает плагин @nx/webpack и добавляет этот плагин в файл nx.json. Я заметил, что Nativescript использует собственный модуль @nativescript/webpack.
Каждый раз, когда я пытаюсь создать или обслуживать какое-либо приложение, оно сразу же выдает ошибку типа, поскольку пытается использовать @nx/webpack с Nativescript... Вот ошибка
NX Unable to create nodes for apps/nativescript-mobile-app/webpack.config.js using plugin @nx/webpack/plugin.
Inner Error: TypeError [ERR_INVALID_ARG_TYPE]: The "paths[1]" argument must be of type string. Received undefined
Кто-нибудь сталкивался с этой проблемой с конфликтующими модулями Webpack? Можно ли указать, какие приложения используют плагины NX?





@rthames62 упомянул о своей проблеме на официальном сервере Discord и предоставил мне свой nx.json, а также свой NestJS project.json.
Если кто-то еще здесь сталкивается с этой проблемой;
Добавление @nx/nest похоже на добавление глобального @nx/webpack/plugin в ваш nx.json вместо добавления его в NestJS project.json в качестве цели:
"plugins": [
{
"plugin": "@nx/webpack/plugin",
"options": {
"buildTargetName": "build",
"serveTargetName": "serve",
"previewTargetName": "preview"
}
},
{
"plugin": "@nx/eslint/plugin",
"options": {
"targetName": "lint"
}
}
]
Просто удалите запись @nex/webpack/plugin.
Теперь добавьте это в свой NestJS project.json:
"build": {
"executor": "@nx/webpack:webpack",
"outputs": ["{options.outputPath}"],
"defaultConfiguration": "production",
"options": {
"target": "node",
"compiler": "tsc",
"outputPath": "dist/apps/YOUR NEST APP",
"main": "apps/YOUR NEST APP/src/main.ts",
"tsConfig": "apps/YOUR NEST APP/tsconfig.app.json",
"assets": ["apps/YOUR NEST APP/src/assets"],
"webpackConfig": "apps/YOUR NEST APP/webpack.config.js"
},
"target": "node",
"compiler": "tsc",
"configurations": {
"development": {
},
"production": {
}
}
}
Если у вас возникли проблемы с обслуживанием вашего приложения NestJS, измените цель serve вашего NestJS project.json на:
"serve": {
"executor": "@nx/js:node",
"defaultConfiguration": "development",
"options": {
"buildTarget": "YOUR NEST APP:build"
},
"target": "node",
"compiler": "tsc",
"configurations": {
"development": {
"buildTarget": "YOUR NEST APP:build:development"
},
"production": {
"buildTarget": "YOUR NEST APP:build:production"
}
}
}
Не забудьте изменить YOUR NEST APP на имя вашего приложения NestJS.
Рад, что смог помочь.
Можете ли вы разместить приложение в выходном каталоге сборки? Я использую аналогичные конфигурации, но мне кажется, что он всегда запускается в папке приложения, а не в папке dist.