美文网首页
编写gulpfile.js来二开小程序

编写gulpfile.js来二开小程序

作者: 红豆稀饭_a071 | 来源:发表于2018-06-29 16:21 被阅读0次

    项目上遇到同事编写一个原型的电商微信小程序,后面会有项目基于这个原型产品二次开发,因此,需要开发二开功能。先开始,我想用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任务,分别对上面两个*/
    

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

    相关文章

      网友评论

          本文标题:编写gulpfile.js来二开小程序

          本文链接:https://www.haomeiwen.com/subject/vumayftx.html