问题1:message: 没有找到可以构建的 NPM 包,请确认需要参与构建的 npm 都在 miniprogramRoot 目录内,或配置 project.config.json 的 packNpmManually 和 packNpmRelationList 进行构建;
描述:这是一个使用 TypeScript+Less 的小程序项目模板,并且该模板安装了 lin-ui 作为UI组件库,安装完毕后使用:工具 -> 构建npm 报错,报错信息提示:message: 没有找到可以构建的 NPM 包,请确认需要参与构建的 npm 都在 miniprogramRoot 目录内,或配置 project.config.json 的 packNpmManually 和 packNpmRelationList 进行构建;
解答:了解了原理之后发现很简单,其实就是执行构建的时候在根目录下没有找到文件,因为原则上小程序需要package.json和app.json在同一个目录下的,由于TypeScripy+less构成的项目并没有在同一个目录结构下,因此npm构建失败了,而且,其实错误它已经提示我们了,就会要改 packNpmManually 和 packNpmRelationList,具体解决步骤如下
找到project.config.json文件,这是小程序的项目配置文件,找到setting这个key,它里面有这两个东西改成如下:
"packNpmManually": true,
"packNpmRelationList": [
{
"packageJsonPath": "./package.json",
"miniprogramNpmDistDir": "./miniprogram/"
}
],
问题2:如何解决“Error: xxx.js 已被代码依赖分析忽略,无法被其他模块引用”报错(TDesign官方组件包报错)
解决方式:
- 修改依赖引用的代码:可根据控制台中的【代码依赖分析异常】提示进行修改。(推荐)
- 关闭过滤无依赖文件:project.config.json 中 settings 选项添加 ignoreDevUnusedFiles: false , ignoreUploadUnusedFiles: false。
采用方式2解决