目前,project.config.json中的miniprogramRoot可以自定义设置小程序源码目录,而小程序构建npm所需要的package.json和node_modules是依赖于miniprogramRoot的,必须miniprogramRoot设置的目录内,这是不合理的。
因为当我们开始自定义设置miniprogramRoot时,往往意味着项目的package.json、node_modules已经和miniprogramRoot设置的路径不在一个目录内,否则也不会去设置miniprogramRoot了。
package.json和node_modules不应该简单粗暴地局限在miniprogramRoot内。而是应该也可以单独配置。
├── README.md
├── build
│ ├── gulp.base.js
│ ├── gulp.config.js
│ └── gulp.utils.js
├── changelog.md
├── gulpfile.js
├── package-lock.json
├── package.json // package.json不在"src/"内部
├── project.config.json // "miniprogramRoot": "src/"
├── src
│ ├── api
│ ├── app.js
│ ├── app.json
│ ├── app.scss
│ ├── app.wxss
│ ├── components
│ ├── config
│ ├── constant
│ ├── images
│ ├── libs
│ ├── pages
│ ├── sitemap.json
│ ├── styles
│ ├── templates
│ ├── utils
│ └── wxs
└── template
├── component
└── page
另:附其他开发者的意见:https://developers.weixin.qq.com/community/develop/article/doc/00040e8fd645a033d0f8502bf5b813
npm支持做两点改造也能不动工程结构解决此问题: 1、构建npm是基于project.config.json的位置找package.json,而不是“miniprogramRoot”; 2、node_modules位置也应以project.config.json为准,而不是“miniprogramRoot”。 总之“miniprogramRoot”只是用来整理代码结构的一个配置,小程序再怎么变也离不开project.config.json,而不是miniprogrammRoot
2021春节回来,开发者工具升级了两次,出现这个问题了,年前是没有这个问题的。期待官方给出解决方法
遇到了同样的问题,头疼中。。