使用Gulp壓縮CSS/JS


一、安裝

1.安裝gulp

npm install -g gulp

2.檢查gulp 版本

gulp -v

3.在項目文件夾下安裝gulp

npm install --save-dev gulp

二、壓縮JS

1.安裝gulp-uglify模塊

npm install gulp-uglify

2.在項目根目錄創建gulpfile.js文件

3.在gulpfile.js文件中寫入代碼

 
 
 
         
  1. // 獲取 gulp
  2. var gulp = require('gulp');
  3. // 獲取 uglify 模塊(用於壓縮 JS)
  4. var uglify = require('gulp-uglify');
  5. // 壓縮 js 文件
  6. // 在命令行使用 gulp script 啟動此任務
  7. gulp.task('jscompress', function() {
  8. // 1. 找到文件
  9. return gulp.src('js/1.js')
  10. // 2. 壓縮文件
  11. .pipe(uglify())
  12. // 3. 另存壓縮后的文件
  13. .pipe(gulp.dest('dist/js'));
  14. });

4.命令行中切換到gulpfile.js所在的目錄,執行如下命令開始壓縮

gulp script

5.在gulpfile.js中添加自動監視任務

 
 
 
         
  1. // 在命令行使用 gulp auto 啟動此任務
  2. gulp.task('auto', function () {
  3. // 監聽文件修改,當文件被修改則執行 script 任務
  4. gulp.watch('js/1.js', ['jscompress']);
  5. });

6.在gulpfile.js中設置默認任務(即命令行中輸入gulp執行的任務)

 
 
 
         
  1. // 使用 gulp.task('default') 定義默認任務
  2. // 在命令行使用 gulp 啟動 script 任務和 auto 任務
  3. gulp.task('default', ['auto']);

三、壓縮CSS

1.安裝gulp-clean-css模塊

npm install gulp-clean-css

2.在gulpfile.js文件中添加相應任務

 
 
 
         
  1. // 獲取 cleancss 模塊(用於壓縮 CSS)
  2. var cleanCSS = require('gulp-clean-css');
  3. // 壓縮 css 文件
  4. // 在命令行使用 gulp csscompress 啟動此任務
  5. gulp.task('csscompress', function() {
  6. // 1. 找到文件
  7. return gulp.src('css/my.css')
  8. // 2. 壓縮文件
  9. .pipe(cleanCSS())
  10. // 3. 另存壓縮后的文件
  11. .pipe(gulp.dest('dist/css'));
  12. });

3.修改添加對應的自動監視任務

 
 
 
         
  1. // 在命令行使用 gulp auto 啟動此任務
  2. gulp.task('auto', function () {
  3. // 監聽文件修改,當文件被修改則執行 script 任務
  4. gulp.watch('js/1.js', ['jscompress']);
  5. gulp.watch('css/my.css', ['csscompress']);
  6. });

四、重命名文件

1.安裝gulp-rename模塊

npm install gulp-rename

2.修改gulpfile.js內代碼

 
 
 
         
  1. // 獲取 gulp
  2. var gulp = require('gulp');
  3. // 獲取 uglify 模塊(用於壓縮 JS)
  4. var uglify = require('gulp-uglify');
  5. // 獲取 cleancss 模塊(用於壓縮 CSS)
  6. var cleanCSS = require('gulp-clean-css');
  7. var rename = require("gulp-rename");
  8. // 壓縮 js 文件
  9. // 在命令行使用 gulp jscompress 啟動此任務
  10. gulp.task('jscompress', function() {
  11. // 1. 找到文件
  12. return gulp.src('js/1.js')
  13. .pipe(rename({suffix: '.min'}))
  14. // 2. 壓縮文件
  15. .pipe(uglify())
  16. // 3. 另存壓縮后的文件
  17. .pipe(gulp.dest('dist/js'));
  18. });
  19. // 壓縮 css 文件
  20. // 在命令行使用 gulp csscompress 啟動此任務
  21. gulp.task('csscompress', function() {
  22. // 1. 找到文件
  23. return gulp.src('css/my.css')
  24. .pipe(rename({suffix: '.min'}))
  25. // 2. 壓縮文件
  26. .pipe(cleanCSS())
  27. // 3. 另存壓縮后的文件
  28. .pipe(gulp.dest('dist/css'));
  29. });
  30. // 在命令行使用 gulp auto 啟動此任務
  31. gulp.task('auto', function () {
  32. // 監聽文件修改,當文件被修改則執行 script 任務
  33. gulp.watch('js/1.js', ['jscompress']);
  34. gulp.watch('css/my.css', ['csscompress']);
  35. });
  36. // 使用 gulp.task('default') 定義默認任務
  37. // 在命令行使用 gulp 啟動 script 任務和 auto 任務
  38. gulp.task('default', ['auto']);

參考資料:
https://github.com/nimojs/gulp-book
http://www.cnblogs.com/Tzhibin/p/4318457.html


免責聲明!

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



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