在 Web 前端開發工做中有不少「重複工做」,好比壓縮CSS/JS文件。而這些工做都是有規律的。找到這些規律,並編寫 gulp 配置代碼,讓 gulp 自動執行這些「重複工做」。javascript
現有目錄結構以下:前端
└── js/ └── myDemo.js
gulp.task('script', function() { // 1. 找到文件 gulp.src('js/*.js') // 2. 壓縮文件 .pipe(uglify({ mangle: false })) // 3. 另存壓縮後的文件 .pipe(gulp.dest('dist/js')) })
代碼執行結果java
代碼執行後文件結構node
└── js/ │ └── myDemo.js └── dist/ └── js/ └── myDemo.js
myDemo.js 壓縮前git
function demo (msg) { alert('--------\r\n' + msg + '\r\n--------'); console.log("123"); conosle.log("1234"); }
myDemo.js 壓縮後github
function demo(msg){alert("--------\r\n"+msg+"\r\n--------"),console.log("123"),conosle.log("1234")}
此時
npmdist/js
目錄下的 .js
文件都是壓縮後的版本。
還能夠監控 js/
目錄下的 js 文件,當某個文件被修改時,自動壓縮修改文件。啓動 gulp 後就能夠讓它幫助你自動構建 Web 項目。gulp
gulp.task('auto',function(){ gulp.watch('js/*.js',['script']); })
當執行auto命令後,去修改js文件夾下面的myDemo.js,此時控制檯會打印以下信息:表示檢測到文件修改並壓縮文件工具
[16:42:49] Using gulpfile ~/Documents/mycode/gulpDemo/gulpfile.js [16:42:49] Starting 'auto'... [16:42:49] Finished 'auto' after 10 ms [16:42:55] Starting 'script'...
也能夠使用 gulp.task('default', fn) 定義默認任務ui
gulp.task('default',['script','auto'])
// 獲取 gulp var gulp = require('gulp'); var uglify = require('gulp-uglify'); // 壓縮 js 文件 // 在命令行使用 gulp script 啓動此任務 gulp.task('script', function() { // 1. 找到文件 gulp.src('js/*.js') // 2. 壓縮文件 .pipe(uglify({ mangle: false })) // 3. 另存壓縮後的文件 .pipe(gulp.dest('dist/js')) }) gulp.task('auto',function(){ gulp.watch('js/*.js',['script']); })
注意;在安裝gulp和gulp-uglify的時候,須要使用sudo npm install,不然,在執行gulp命令的時候,會報gulp command not found