笔记:最近需求中的 Gulp Task


需求千变万化,项目中有一部分想尝试用 Gulp Task ,但是又有很多 legacy 的问题,每个文件进行改写量太大,首先在第一步总结了需要的 gulp task 的需求:

  1. 基础库文件夹里有 base1.js, base2.js, base3.js
  2. 比如说正在编辑的文件叫做 editing.js
  3. 每次完成编辑 editing.js,保存的时候,需要和基础库中的三个 base[].js 合并,但是合并的顺序得是:base1.js, base2.js, base3.jsediting.js
  4. 合并完成之后压缩(minify and uglify);
  5. 最后重命名成:editing.min.js

大部分都是正常步骤,有很多现成的 task snippet 可以帮助实现,但也有困难的一步是:在第 3 步 的时候,把 editing.js 拿出来去和剩下的 base[].js 进行合并完成之后,没办法记住原来 editing.js 的名字。

最后找到 gulp.watch 方法中第二个 callback 中其实有一个 event 对象,可以获取到 evt.path,配合 Node.js 中 require('path') 里的 path.basename()API DOCpath.extname()API DOC ,可以变换步骤来达到记录 editing.js 文件名的目的,全部 task 抽象出来如下:

感谢阅读

你们好, 2018 年初把小站从 Jekyll 迁移到 Hugo 的过程中,删除了评论区放的 Disqus 插件,考虑有二:首先无论评论、还是对笔记内容的进一步讨论,读者们更喜欢通过邮件、或者 Twitter 私信的方式来沟通;其次一年多以来 Disqus 后台能看到几乎都是垃圾留言(spam),所以这里直接贴一下邮件、以及 Twitter 账户 地址。

技术发展迭代很快,所以这些笔记内容也有类似新闻的时效性,不免有过时、或者错误的地方,欢迎指正 ^_^。

BEST
Lien(A.K.A 胡椒)
本站总访问量 本站总访客量 本文总阅读量