去 nodejs.org 根據系統選擇性按照教程安裝Node。css
建立項目文件夾html
進入項目文件夾前端
初始化項目node
使用npm命令:npm init
,根據提示完成。git
進入項目文件夾,使用Node的包管理命令npm進行安裝.shell
全局安裝npm
npm install -g gulp
項目依賴中安裝gulp
npm install --save-dev gulp
在項目根目錄新建配置文件gulpfile.js
sass
以常見的Gulp插件爲例,以下:less
js代碼校驗(gulp-jshint)
合併js文件(gulp-concat)
壓縮js代碼(gulp-uglify)
sass的編譯(gulp-sass)
less的編譯(gulp-less)
壓縮css(gulp-minify-css)
重命名(gulp-rename)
這些插件的安裝命令以下:
npm install gulp-jshint gulp-concat gulp-uglify gulp-sass gulp-less gulp-minify-css gulp-rename --save-dev
// 引入 gulp var gulp = require('gulp'); // 引入組件 var jshint = require('gulp-jshint'); var concat = require('gulp-concat'); var uglify = require('gulp-uglify'); var sass = require('gulp-sass'); var less = require('gulp-less'); var minifycss = require('gulp-minify-css'); var rename = require('gulp-rename'); // 檢查js腳本 gulp.task('lint', function() { gulp.src('./src/js/*.js') .pipe(jshint()) .pipe(jshint.reporter('default')); }); // 合併,壓縮js文件 gulp.task('scripts', function() { gulp.src('./src/js/*.js') //合併js文件 .pipe(concat('all.js')) //給文件添加.min後綴 .pipe(rename({ suffix: '.min' })) //壓縮腳本文件 .pipe(uglify()) .pipe(gulp.dest('./dist/js')); }); // 編譯sass gulp.task('sass', function() { gulp.src('./src/scss/*.scss') .pipe(sass()) .pipe(gulp.dest('./css')); }); // 編譯less gulp.task('sass', function() { gulp.src('./src/less/*.less') .pipe(less()) .pipe(gulp.dest('./css')); }); // 壓縮css gulp.task('style', function() { gulp.src('./src/css/*.css') .pipe(gulp.dest('./dist/style')) .pipe(rename('all.min.css')) .pipe(minifycss()) .pipe(gulp.dest('./dist/style')); }); // 默認任務 gulp.task('default', function(){ gulp.run('lint', 'sass', 'scripts'); // 監聽文件變化 gulp.watch('./src/js/*.js', function(){ gulp.run('lint', 'scripts'); }); gulp.watch('./src/sass/*.scss', function(){ gulp.run('sass'); }); gulp.watch('./src/less/*.less', function(){ gulp.run('less'); }); gulp.watch('./src/css/*.css', function(){ gulp.run('style'); }); });
原文來自:Seay前端博客