gulp作為一個在webpackl之前的構建工具,到現在也有很多人使用,這個使用非常的簡單。
全局安裝后需要在項目中也安裝一次哦
全局安裝
~~~
npm install gulp -g
~~~
項目中安裝
~~~
npm install gulp --save-dev
~~~
在項目根目錄下創建一個名為 gulpfile.js 的文件直接寫需要為我們執行的事就好啦
下面貼一個我項目中常用的配置:
~~~
var gulp = require('gulp');
var imgMin = require('gulp-imagemin')
var uglify = require('gulp-uglify')
var minifycss = require('gulp-minify-css')
var autoprefixer = require('gulp-autoprefixer')
//拷貝所有html文件 html壓縮沒多大意義
gulp.task('copyHtml', function() {
gulp.src('productEnvironment/*.html')
.pipe(gulp.dest(''))
})
// 壓縮css 自動添加前綴
gulp.task('minifycss', function() {
gulp.src('productEnvironment/css/*')
.pipe(autoprefixer({
browsers: ['last 100 versions'],
cascade: true
}))
.pipe(minifycss())
.pipe(gulp.dest('css'))
});
//圖片壓縮
gulp.task('minImg', function() {
gulp.src('productEnvironment/img/*')
.pipe(imgMin())
.pipe(gulp.dest('img'))
})
//壓縮js
gulp.task('minijs', function() {
gulp.src('productEnvironment/js/*')
.pipe(uglify())
.pipe(gulp.dest('js'))
})
// 默認
gulp.task('default', ['copyHtml', 'minImg', 'minijs', 'minifycss'])
~~~
當然在使用前需要先安裝依賴。
package.json
~~~
{
"name": "resume",
"version": "1.0.0",
"description": "",
"main": "main.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": ""
},
"author": "",
"license": "ISC",
"devDependencies": {
"gulp": "^3.9.1",
"gulp-autoprefixer": "^4.1.0",
"gulp-imagemin": "^4.1.0",
"gulp-minify-css": "^1.2.4",
"gulp-uglify": "^3.0.0"
}
}
~~~
- 以專業工程師的標準要求自己
- JS
- 函數的this
- 函數的argument
- 函數的apply、bind、call方法
- 創建對象
- 構造函數創建對象
- 原型結合構造函數創建對象
- 原型
- 繼承
- 閉包
- 正則表達式
- Ajax
- 設計模式
- ES6
- es6的模塊化
- 定義變量的新方式
- 函數擴展
- 數組擴展
- 性能與工程化
- 關于http與緩存
- 重排(reflow、layout)與重繪
- 頁面性能
- gulp
- webpack
- 一些項目回顧總結
- 移動端&微信H5游戲
- 微信小程序
- Vue.js
- 隨手記錄
- 如何通過前端技能獲取2018世界杯門票
- jsonp
- es6 javascript對象方法Object.assign()
- 一份不錯的基礎面試題
- vscode常用插件
- koroFileHeader
- 構建自己的Js工具庫
- H5 game
- Phaser從入坑到放棄再入坑
- 1.游戲的創建
- 2.資源的加載
- 3.phaser中的舞臺,世界和攝像機
- 4.游戲縮放控制,移動端的適配
- 5.phaser中的顯示對象
- 1.概述
- 2.phaser中的圖片,圖形,和按鈕
- 3.phaser中的精靈
- 4.文字
- 5.組
- 6.phaser中的動畫
- 7.粒子和瓦片地圖
- 8.瓦片地圖
- lodash
- ES5 to ESNext?—?here’s every feature added to JavaScript since 2015
- 防抖(debounce) 和 節流(throttling)