问题:message: 没有找到可以构建的 NPM 包,请确认需要参与构建的 npm 都在 miniprogramRoot 目录内,或配置 project.config.json 的 packNpmManuallypackNpmRelationList 进行构建;

描述:这是一个使用 TypeScript+Less 的小程序项目模板,并且该模板安装了 lin-ui 作为UI组件库,安装完毕后使用:工具 -> 构建npm 报错,报错信息提示:message: 没有找到可以构建的 NPM 包,请确认需要参与构建的 npm 都在 miniprogramRoot 目录内,或配置 project.config.json 的 packNpmManuallypackNpmRelationList 进行构建;

解答:了解了原理之后发现很简单,其实就是执行构建的时候在根目录下没有找到文件,因为原则上小程序需要package.json和app.json在同一个目录下的,由于TypeScripy+less构成的项目并没有在同一个目录结构下,因此npm构建失败了,而且,其实错误它已经提示我们了,就会要改 packNpmManually 和 packNpmRelationList,具体解决步骤如下

  • 找到project.config.json文件,这是小程序的项目配置文件,找到setting这个key,它里面有这两个东西,默认状态如下
"setting": {
    "useCompilerPlugins": [
      "typescript",
      "less"
    ],
    "urlCheck": true,
    "coverView": true,
    "es6": true,
    "postcss": true,
    "lazyloadPlaceholderEnable": false,
    "preloadBackgroundData": false,
    "minified": true,
    "autoAudits": false,
    "uglifyFileName": false,
    "uploadWithSourceMap": true,
    "enhance": true,
    "showShadowRootInWxmlPanel": true,
    就是这个
    "packNpmManually": false,
    "packNpmRelationList": [],
    
    "minifyWXSS": true,
    "useStaticServer": true,
    "showES6CompileOption": false,
    "checkInvalidKey": true,
    "babelSetting": {
      "ignore": [],
      "disablePlugins": [],
      "outputPath": ""
    },
    "disableUseStrict": false,
    "minifyWXML": true
  },

在里面找到packNpmManually和packNpmRelationList,改成如下配置

    "packNpmManually": true,
    "packNpmRelationList": [
      {
        "packageJsonPath": "./package.json",
        "miniprogramNpmDistDir": "./miniprogram/"
      }
    ],

改成这种后就不再报错了

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐