时间:2019-05-04 来源:小程序工厂
1、工具是在 project.config.json 指定的 dist 目录,还是直接使用 dist 目录呢?
2、gulp 是否有 watch 呢,还是构建完毕即退出了
3、编辑设置里,是否有开启保存时自动编译等选项呢
直接使用了dist目录,未编辑过project.config.json
有加watch,watch延迟200ms
这个问题有可能跟我们文件多有关系吗?大概600-700个文件,我是固态硬盘
尝试去掉 “编译时自动保存所有文件” 试试呢
不起作用。有个现象很奇怪只有第一次执行gulp命令时会这样;当进入watch状态后修改文件,就没事,我的gulp脚本我可以贴一下
难道是我任务里的“clean”导致的?
'use strict';
是否是有删除工具正在使用的 dist 目录呢?如果是的话,是有可能出现问题的,因为这个节点的删除工具有可能无法捕获到。建议工具直接在根目录建立项目,然后使用 project.config.json 指定 dist 目录为 miniprogramRoot,一样可以达到效果哦
我们的项目有个特殊的地方:1一个git仓库的代码会运行在多个微信小程序上(就是一个git仓库对应了多个appid)。这也是我们引入gulp的原因,在gulp构建过程中,会生成n个dist目录。
所以你给的方案(修改project.config.json)解决不了多个微信小程序打开同一个目录的问题。对吧?
PS:我们的src目录,会生成多个dist目录,例如“dist-A”、“dist-B”、“dist-C”,然后A微信小程序打开dist-A,B微信小程序打开dist-B…以此类推
首先这个问题是目前工具目前所使用文件监听库的一个 bug,目前不好规避。有两个方法:
方法 1、你可以仍然生成多个 dist-A、dist-B 文件,只需统一使用不同的 appid 在包含 project.config.json 的目录建立多个项目即可,每个项目使用时指定不同的 miniprogramRoot,使用的时候更改 project.config.json 文件。
方法 2、clean 脚本不要直接删除 dist 目录,而是删除 dist 下的文件。
现在我的gulp脚本就是清理dist目录下的文件(project.config.json除外)。
以下是我的代码:
let cleanDist = gulp.src([distFolder + "/*", "!" + distFolder + "/project.config.json"], { read: false })