编写gulpfile.js来二开小程序

项目上遇到同事编写一个原型的电商微信小程序,后面会有项目基于这个原型产品二次开发,因此,需要开发二开功能。先开始,我想用webpack来完成这个功能,但是后来一想,根本不用这么复杂,因为而开的过程,其实就是把源码先复制一份到合并的目录,然后把二开的代码再复制一份到合并目录,如果同名的文件自然是以二开的文件为优先,并且源码目录、二开目录和合并的目录都是相同的目录结构,并且要实时监听二开目录的文件改动,一旦有改动,改动的文件也要立即放到合并目录。
因为小程序有微信开发者工具这个好东西来开启预览的服务,因此就省去了很多的功夫,直接把开发者工具的项目目录指向二开合并的目录就可以了。具体代码如下:

gulp启动需要用的gulpfile.js代码

var gulp = require('gulp');

var watch = require('gulp-watch');

gulp.task('init', function(){//初始化任务
    gulp.src('./src/**/*')//首先将src下面的所有文件复制一份到src-merge
    .pipe(gulp.dest('./src-merge'));//这个目录是最终的代码目录,小程序发开工具需要指向这个目录
    gulp.src('./ext/**/*')//然后把ext目录下的所有文件再复制一份到src-merge如果同名的文件会覆盖掉src里面的
    .pipe(gulp.dest('./src-merge'));//最终目录
})

gulp.task('watch', function(){//这里监听文件的变化
    return watch('./ext/**/*')//设置监听的目录,监听ext下面的所有文件
    .pipe(gulp.dest('./src-merge'))//改变的文件会被导流到src-merge中
})

gulp.task('default', ['init', 'watch'])/*只输入gulp的时候,就是调用这个任务,
这个任务又是调用init 和 watch任务,分别对上面两个*/

如果有什么建议或者意见,欢迎留言讨论,如果对你有帮助,请点个赞呗。谢谢。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,284评论 25 708
  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AGI阅读 16,009评论 3 119
  • 完美无缺不是这个世界的本质,你只能看到你所看到的东西! 当你今天满眼看出去都是问题的时候,恰恰表明问题在你自身?!...
    萍空间阅读 170评论 0 0
  • 每个人的青春里都有一条弯路,每个人之后都要为那段弯路付出代价,如果我们奋起直追,努力一搏,我们能改写命运吗? ——...
    小小sha阅读 273评论 3 1
  • ​文|骑驴飞奔的蜗牛 吾爱与吾身,从此不可分。汝复何所求,夜夜见吾心。童年湖人梦,一世儿女情。儿女情且长,好马力已...
    骑驴飞奔的蜗牛阅读 458评论 2 2