nodejs怎么实现简单的杯打包

  介绍

小编给大家分享一下nodejs怎么实现简单的杯打包,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!

js有什么特点

1, js属于一种解释性脚本语言;2,在绝大多数浏览器的支持下,js可以在多种平台下运行,拥有着跨平台特性;3,js属于一种弱类型脚本语言,对使用的数据类型未做出严格的要求,能够进行类型转换,简单又容易上手;4,js语言安全性高,只能通过浏览器实现信息浏览或动态交互,从而有效地防止数据的丢失;5,基于对象的脚本语言,js不仅可以创建对象,也能使用现有的对象。

做个最简单例子,以js压缩为例

var  src_file =, & # 39;。/xxxx/& # 39;;,//,你的源文件目录   var  dist_file=, & # 39;。/dist/xxxx & # 39;,,//,文件处理后你想存放的目录   var 配置=,{   src: src_file,   经销:dist_file,   js: {   src才能:src_file  +, & # 39; src/js/* */* . js # 39;,,,,,,,//,你的js目录   经销:才能,dist_file  +, & # 39; src/js # 39;,,,,,,,,,,//, js文件打包后存放的目录   ,,},   };   时间=module.exports 配置;

这只是个最简单的小例子,要是有其它的往里加就好了,html, css, img,还有一些静态文件等。

关键的来了,我们把处理方法写在gulpfile.xxx.js里面。

gulpfile.xxx。js:

var  gulp =,要求(& # 39;杯# 39;);   var  rename =,要求(& # 39;gulp-rename& # 39;);,//重命名   var  babel =,要求(“gulp-babel");   var  uglify =,要求(& # 39;gulp-uglify& # 39;);,//js压缩   var  config =,要求(& # 39;。/gulpfile.config.js& # 39;);   var  runSequence =,要求(& # 39;run-sequence& # 39;);   var  rev =,要求(& # 39;gulp-rev& # 39;);//版本号管理的一些东西,先写进来吧,懒的在敲了   var  revCollector =,要求(& # 39;gulp-rev-collector& # 39;);   var  cssUrl =, & # 39;。/dist/xxx/src/css/* . css,,   ,,jsUrl =, & # 39;。/dist/xxx/src/js/* . js # 39;;   function 哈哈(),{   gulp.task才能(& # 39;js # 39;,, function  (), {   ,,,return  gulp.src (Config.js.src)   ,,,,,,,,,.pipe(巴别塔())   ,,,,,,,,,.pipe(糟蹋())   ,,,,,,,,,.pipe (gulp.dest (config.js.dist));   ,,,});   gulp.task才能(& # 39;revJs& # 39;,,函数(){   ,,,return  gulp.src (jsUrl)   ,,,,,,,,,.pipe(牧师())   ,,,,,,,,,.pipe (rev.manifest ())   ,,,,,,,,,.pipe (gulp.dest (& # 39; dist/xxx/src/js # 39;));   ,,});   gulp.task才能(& # 39;revHtml& # 39;,, function  (), {   ,,,,,,,return  gulp.src ((& # 39; dist/xxx/src/js/* */* . json # 39;,, & # 39; chaohuo/* . html # 39;]),/*后面本地html文件的路径,可自行配置*/,,,,,,,,,.pipe (revCollector (   ,,,,,,,,,,,{,replaceReved: true }   ,,,,,,,,,,,)   ,,,,,,,,,.pipe (gulp.dest (& # 39; dist/chaohuo& # 39;)),,/* Html更换css, js文件版本,和本地Html文件的路径一致*/,,});   gulp.task才能(& # 39;dev # 39;,, function (做),{   ,,,,,condition =,假;   ,,,,,runSequence (   ,,,,,,,,,(& # 39;revJs& # 39;),   ,,,,,,,,,(& # 39;revHtml& # 39;),   ,,,做);});   ,,,gulp.task(& # 39;默认# 39;,,(& # 39;js # 39; & # 39; dev # 39;]);   }   module.exports =,哈哈,

天啊,我本来想一步步来写清楚点的,没想到一下子把版本号相关的也都写进去了,那就算了吧,一起来吧。

下面是gulpfile。js文件:

var 哈哈=,要求(& # 39;。/gulpfile.prod.js& # 39;);   哈哈();

基本工作已经完成一大半了,还有一个忘记说了。如果你用到了es6语法,千万别忘记配置一个.babelrc文件。

。babelrc内容:

,,“presets":,   ,,,“es2015",   ,,,   “plugins"才能:,   ,,,“transform-remove-strict-mode"//这个插件就是添加版本号的关键。   ,,)   }

有的小伙伴可能会遇到版本号不断叠加的问题,还记得{replaceReved:真}这个吗,前面有看一下,记得添加这个。还有最后一步node_modules我们要更改一些代码,来吧,我下的最新的包(如果你用的老的,也是差不多的改法),替换下。

gulp-path里的索引。js两个返回的东西都改掉:

return  modifyFilename(甲状旁腺素,,(文件名,,ext),=祝辞,“${文件名}-{哈希}{ext}’美元);改为return  modifyFilename(甲状旁腺素,,(文件名,,ext),=祝辞,“${文件名}$ {ext}”);      return  modifyFilename(甲状旁腺素,(文件名,,ext),=祝辞,filename.replace (new 正则表达式(- ${哈希}$),,& # 39;& # 39;),+,ext);改为return  modifyFilename(甲状旁腺素,,(文件名,,ext),=祝辞,filename  +, ext);

nodejs怎么实现简单的杯打包