Добавление плагина @nx/webpack нарушает сборку Nativescript

У меня есть интегрированное рабочее пространство 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?

Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
1
0
635
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

@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.

joseFrancisco 30.05.2024 05:14

Другие вопросы по теме

Невозможно обеспечить ограниченный импорт в проекте TypeScript, несмотря на настройку baseUrl и разрешение
Webpack говорит: «Вам может понадобиться дополнительный загрузчик» в проекте React.js
Есть ли способ сопоставить повторяющийся путь импорта в Webpack/NextJs?
Как запустить пересборку Webpack программно?
Как загрузить PDF-файлы в nextjs с помощью загрузчика файлов веб-пакета (ошибка 404)
Ошибка веб-пакета: модуль не найден. при использовании другой моей библиотеки, включенной в накопительный пакет
Next.JS AppProps — для обработки этого типа файла может потребоваться соответствующий загрузчик, в настоящее время ни один загрузчик не настроен для обработки этого файла
Как заставить веб-пакет внедрять стили в атрибут тегов «стиль»?
Какие настройки модуля машинописного текста для библиотеки, которая используется в браузерах и node.js
Mix Watch не обновляет файлы vue router