gulp入坑系列(2)——初試JS代碼合並與壓縮


在上一篇里成功安裝了gulp到項目中,現在來測試一下gulp的合並與壓縮功能

gulp入坑系列(1)——安裝gulp(傳送門):http://www.cnblogs.com/YuuyaRin/p/6159809.html

 

在之前建立的項目中寫入,在根目錄新建js文件夾,並在文件夾中新建兩個js文件,代碼如下:

index.js:

  1. var index={};  
  2. index={  
  3.     test:function(argument){  
  4.         console.log('test');  
  5.     }  
  6. }  
  7. index.test();  


main.js:

  1. var main = {};  
  2. main.test=function(argument){  
  3.     console.log("main test");  
  4. }  
  5. main.test();  

 

 

在根目錄新建文件夾build,並在build里新建一個空的js文件:all.min.js

在根目錄下新建index.html ,在其中引用build下的all.min.js。

index.html:

  1. <script type="text/javascript" src="build/all.min.js"></script>  

接下來編輯gulpfile.js文件,來告訴gulp我們要把index.js,main.js合並起來壓縮再寫入all.min.js中

 

gulpfile.js:

  1. var gulp = require('gulp');//gulp自身  
  2. var uglify= require('gulp-uglify');//<span style="font-family: Arial, Helvetica, sans-serif;">引入壓縮組件</span>  
  3. var concat = require('gulp-concat');//<span style="font-family: Arial, Helvetica, sans-serif;">引入合並組建</span>  
  4.   
  5. var paths = {  
  6.     scripts:['js/index.js','js/main.js']  
  7. //定義要操作的文件路徑  
  8.   
  9.   
  10. gulp.task('default', function() {   
  11.   gulp.src(paths.script)//找到項目下paths變量所定義的script文件  
  12.   .pipe(uglify())//壓縮  
  13.   .pipe(concat('all.min.js'))//輸入到all.min.js中  
  14.   .pipe(gulp.dest('build'));//指定目錄  
  15. });  

 

 

tips:gulp的執行流程采用了流式操作,每一個pipe()可以理解成,上一個操作的輸出,就是下一個操作的輸入,比如uglify()壓縮后輸出的,就是concat要輸入到文件中的,而concat輸出的文件,是gulp.dest要加入的目錄中的,可以理解成每部操作都return了下一步要使用的東西。

 

最終目錄結構如下:

接下來就可以在命令行工具中cd到項目的根目錄中執行gulp指令了。

此時也許會出現 Cannot find module 'gulp-uglify'這樣的報錯,是因為gulpfile所require的gulp-uglify和gulp-concat插件並不存在,所以可以利用npm在項目中裝入即可:

npm install --save-dev gulp-uglify    回車

npm install --save-dev gulp-concat   回車

 

安裝完成后再次執行gulp指令,成功后,可以查看一下我們原本空的all.min.js文件,可以看到main.js和index.js已經在all.min.js中壓縮合並了

  1. var index={};index={test:function(e){console.log("test")}},index.test();  
  2. var main={};main.test=function(n){console.log("main test")},main.test();  

 

然后運行一下我們的index.html,打開瀏覽器控制台,會發現兩個js的內容成功輸出:



說明gulp成功執行了JS文件的合並與壓縮的操作。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM