You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

添加@nx/webpack插件致Nativescript构建失败,求解决方案

NX工作区@nx/webpack与Nativescript webpack冲突解决办法

问题背景

集成了Angular、Nativescript的NX工作区,添加Nest.js应用后自动安装了@nx/webpack插件并设为全局,导致Nativescript的@nativescript/webpack和它冲突,执行构建/启动时抛出以下错误:

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

解决步骤

核心思路是取消@nx/webpack的全局插件地位,给需要它的应用单独配置,让Nativescript用自己的webpack插件。

    1. 调整全局插件配置
      打开nx.json,找到plugins数组,删掉@nx/webpack/plugin这一项。只保留所有应用通用的全局插件(比如@nx/angular/plugin),不要让@nx/webpack全局生效。
    1. 给Angular、Nest应用单独配置@nx/webpack
      找到Angular和Nest应用对应的project.json文件(比如apps/your-angular-app/project.json、apps/your-nest-app/project.json),在文件里添加专属的插件配置:
    {
      "name": "your-nest-app",
      // 其他原有配置不变
      "plugins": [
        {
          "plugin": "@nx/webpack/plugin",
          "options": {
            "buildTarget": "your-nest-app:build"
          }
        }
      ]
    }
    

    这样只有这两个应用会调用@nx/webpack插件,不会影响Nativescript。

    1. 确认Nativescript的配置正确
      检查Nativescript应用的project.json,确保它的构建目标用的是@nativescript/nx:build这类专属executor,而不是@nx/webpack的:
    {
      "targets": {
        "build": {
          "executor": "@nativescript/nx:build",
          // 其他配置不变
        }
      }
    }
    
    1. 清理缓存测试
      运行nx reset清空NX缓存,然后分别测试各个应用的启动/构建:
    nx serve your-angular-app
    nx serve your-nest-app
    nx run your-nativescript-app:build
    

补充说明

NX支持应用级插件配置,全局插件适合所有应用通用的工具,而不同技术栈的专属插件可以单独给对应应用配置,完美解决这类跨技术栈的插件冲突问题。

内容的提问来源于stack exchange,提问作者rthames62

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 04:16:09