1. 程式人生 > >gulp安裝和簡單使用

gulp安裝和簡單使用

1、安裝node

2、安裝npm

以上測試安裝是否成功輸入(node -v或者npm -v)

3,安裝gulp  執行npm install gulp -g

測試安裝是否成功輸入(gulp -v)

4、新建package.json檔案到專案檔案根目錄

因為package.json是基於node.js專案必不可少的配置檔案,用於存放專案根目錄的普通json檔案重點內容

方法是進入專案檔案中執行npm init來新建package.json檔案

5.本地安裝gulp

全域性安裝gulp是為了執行gulp任務,本地安裝gulp是為了呼叫gulp外掛的功能進入你的專案檔案路徑中,執行npm install gulp --save-dev

6.安裝gulp-sass外掛

在專案檔案路徑後 ,執行npm install gulp-sass --save-dev

7.新建gulpfile.js

gulpfile.js是gulp的配置檔案,放於根目錄中。

示例內容:匯入你需要的工具包 require('node_module裡對應的模組')

var gulp =require('gulp'),

      sass=require('gulp-sass');

//sass任務

gulp.task('sass',function(){

    return gulp.src('src/css/test.scss')             //獲取該任務需要的檔案

    .pipe(sass())                                                //該任務呼叫的模組

    .pipe(gulp.dest('src/css'));                          //將在src/css資料夾中生產test.css

})

//預設任務

gulp.task('default',['sass','watchl']);

//監聽檔案

gulp.task('watchl',function(){

return gulp.watch('src/css/test.scss',['sass']);

//監聽src/css/test.scss檔案,修改時自動執行sass任務

})

註釋:我們要告訴他要執行那些任務首先要知道自己專案需要那些任務

例:

1.檢查js

2.編譯sass(less)檔案

3.合併js

4.壓縮並重命名合併後的js

5.自動重新整理頁面

npm install gulp-jshint --save-dev jshint 安裝失敗問題:解決方案: npm install --save-dev jshint 

gulp-jshint npm install gulp-sass --save-dev 編譯sass檔案

 npm install gulp-concat --save-dev 合併js 

npm install gulp-uglify --save-dev 通過UglifyJS來壓縮JS檔案

. npm install gulp-rename --save-dev 重新命名檔案的外掛,當要把一個檔案儲存為不同版本時可以使用。比如在需要一個style.css同時你有需要一個style.min.css 

npm install gulp-autoprefixer --save-dev 使用Autoprefixer來補全瀏覽器相容的css

 gulp-minify-css 壓縮css,最終是呼叫clean-css 參考:http://www.ydcss.com/archives/41

gulp-gzip 壓縮zip 

gulp-imagemin 壓縮png/jpg/git/svg 格式圖片檔案

gulp-util gulp常用的工具庫在安裝gulp時預設已經安裝,可以直接使用

gulp-clean 清理檔案

npm使用指南

3.2 gulp只有五個方法:task run watch src dest

檔案配置如下也就是gulpfile.js

//引入gulp,專案檔案中安裝的gulp的引入方式var gulp =require('gulp');//引入元件var jshint =require("gulp-jshint");var gutil =require("gulp-util");var sass=require("gulp-sass");var concat =require("gulp-concat");var uglify =require("gulp-uglify");var rename =require("gulp-rename");var path =require("path");//var webpack = require("webpack");//var WebpackDevServer = require("webpack-dev-server");//var webpackConfig = require("./webpack.config.js");//也可以是某個特定目錄下(比如:config)的檔案、vardel=require("del");//你也許會想要在編譯檔案之前刪除一些檔案 gulp.task('clean',function(cb){returndel(['build/**/*'], cb);});//檢查指令碼 gulp.task('lint',function(){ gulp.src('./src/javascript/**/*.js').pipe(jshint()).pipe(jshint.reporter('default'));});//編譯sass//sass 任務會編譯scss/目錄下的scss檔案,並把編譯完成的css檔案儲存到/css目錄中 gulp.task('sass',function(){ gulp.src("./src/scss/**/*.scss").pipe(sass({outputStyle:'compact'})).pipe(gulp.dest("./build/css"));});//合併,壓縮檔案//scipts 任務會合並js 目錄下的所有js檔案並輸出到dist目錄中,然後gulp會重新命名。壓縮合並的檔案,也輸出到dist/目錄 gulp.task('scripts',function(){ gulp.src('./src/javascript/**/*.js').pipe(concat('all.js')).pipe(gulp.dest('./dest')).pipe(rename("all.min.js")).pipe(uglify()).pipe(gulp.dest("./build"))});//這時,我們建立了一個基於其他任務的default任務。//使用.run()方法關聯和執行我們上面定義的任務,使用.watch() 方法去堅挺制定目錄的檔案變化,當有檔案變化時,會執行回撥定義的其他任務。 gulp.