此处要求参与构建 npm 的 package.json 需要在 project.config.json 定义的 miniprogramRoot 之内。
无法理解这句话是什么意思,目前我遇到的问题是:在小程序 package.json 所在的目录中执行命令 npm install
安装 npm 包报错了
报错信息如下:
48 verbose stack Error: unable to resolve dependency tree
48 verbose stack at [failPeerConflict] (C:\Users\Administrator\AppData\Roaming\npm\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\build-ideal-tree.js:1378:25)
48 verbose stack at [loadPeerSet] (C:\Users\Administrator\AppData\Roaming\npm\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\build-ideal-tree.js:1344:34)
48 verbose stack at async [buildDepStep] (C:\Users\Administrator\AppData\Roaming\npm\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\build-ideal-tree.js:928:11)
48 verbose stack at async Arborist.buildIdealTree (C:\Users\Administrator\AppData\Roaming\npm\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\build-ideal-tree.js:206:7)
48 verbose stack at async Promise.all (index 1)
48 verbose stack at async Arborist.reify (C:\Users\Administrator\AppData\Roaming\npm\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\reify.js:156:5)
48 verbose stack at async Install.exec (C:\Users\Administrator\AppData\Roaming\npm\node_modules\npm\lib\commands\install.js:146:5)
48 verbose stack at async module.exports (C:\Users\Administrator\AppData\Roaming\npm\node_modules\npm\lib\cli.js:133:5)
49 verbose cwd C:\Users\Administrator\Downloads\tensorflow-wxapp-master\tensorflow-wxapp-master
50 verbose Windows_NT 10.0.19045
51 verbose node v18.12.1
52 verbose npm v9.2.0
53 error code ERESOLVE
54 error ERESOLVE unable to resolve dependency tree
miniprogramRoot指定的是miniprogram/,但是miniprogram/里面没有package.json。(要求开发者还要再miniprogram里面维护一个package.json?这什么大脑啊)
所以构建失败,腾讯的微信开发者工具不如关闭好了, 天天更新些BUG。
如果这是你们的feature,你不能在文档里面同步更新?能不能说清楚怎么配置?
所以我真的怀疑他们有没得QA在测试?
开发体验跟坨屎一样,你把微信开发工具做成VSCode的插件,估计都不会有这么多问题。
解决方案1:
把miniprogram目录干掉(里面的文件全部上移一级),把app.json中的miniprogramRoot配置项目干掉。
解决方案2:
cd进miniprogram目录,直接npm init。然后再安装你需要安装到包,最后用微信工具构建。
ps.以上模板为最新版本的微信开发者工具的ts+sass模板,生成出来就是个这鸟样。
"lazyCodeLoading":"requiredComponents",
这里我也折腾了好久,微信的文档应该是业内最烂的,没有之一,但是没办法,烂你还的用
npm构建工具确实奇葩,一些node_modules中结构是package_name/lib/package_name.js 被构建成了 package_name/index.js,然后就会报 not defined 的错误。