Gulpフロントエンド最適化
7605 ワード
使用方法:
ダウンロードjs , https://nodejs.org/en/、msi をインストール
次のコマンドはdosコマンドに属します.
Node-v,npm-v,ダウンロードに成功したかどうかを確認(バージョン番号が表示されます)npmを淘宝npm install cnpm-g--registry=にミラーします.https://registry.npm.taobao.org
次にnpmの代わりにcnpmを用いてを用いる.
理由はnpmが海外サーバであるためである.
gulpをグローバルcnpm install gulp-g にインストール
検査取付gulp-v ファイルプロジェクトディレクトリに切り替え、cnpm install gulp--save-dev プラグインのインストール:プラグインが多く、cnpm install gulp-autoprefixer gulp-minify-css gulp-jshint gulp-concat gulp-uglify gulp-imagemin gulp-notify gulp-rename gulp-livereload gulp-cache del --save-dev
プロジェクトルートディレクトリにgulpfileを作成する.jsファイル
gulpを実行し、検査する
配列を使用して複数のファイルをマッチングし、正則と!を使用できます.
具体コード
ダウンロードjs , https://nodejs.org/en/、msi をインストール
次のコマンドはdosコマンドに属します.
Node-v,npm-v,ダウンロードに成功したかどうかを確認(バージョン番号が表示されます)npmを淘宝npm install cnpm-g--registry=にミラーします.https://registry.npm.taobao.org
次にnpmの代わりにcnpmを用いてを用いる.
理由はnpmが海外サーバであるためである.
gulpをグローバルcnpm install gulp-g にインストール
検査取付gulp-v ファイルプロジェクトディレクトリに切り替え、cnpm install gulp--save-dev プラグインのインストール:プラグインが多く、cnpm install gulp-autoprefixer gulp-minify-css gulp-jshint gulp-concat gulp-uglify gulp-imagemin gulp-notify gulp-rename gulp-livereload gulp-cache del --save-dev
プロジェクトルートディレクトリにgulpfileを作成する.jsファイル
var gulp = require('gulp');
gulp.task('default', function() {
console.log('hello world');
});
gulpを実行し、検査する
配列を使用して複数のファイルをマッチングし、正則と!を使用できます.
具体コード
//var gulp = require('gulp');
//
//gulp.task('default', function() {
// console.log('hello world');
//});
// gulp
var gulp = require('gulp'),
autoprefixer = require('gulp-autoprefixer'),
minifycss = require('gulp-minify-css'), // css
//jshint = require('gulp-jshint'), //js
uglify = require('gulp-uglify'), // JS
imagemin = require('gulp-imagemin'), //
rename = require('gulp-rename'), // js
// concat = require('gulp-concat'), // 1
notify = require('gulp-notify'),
cache = require('gulp-cache'),
livereload = require('gulp-livereload'),
del = require('del');
// Styles
gulp.task('styles', function() {
return gulp.src('src/styles/**/**/**/**/**/**/**/**/**/*.css')
.pipe(rename({ suffix: '.min' }))
.pipe(minifycss())
.pipe(gulp.dest('dist/styles'))
.pipe(notify({ message: 'Styles task complete' }));
});
// Scripts
gulp.task('scripts', function() {
return gulp.src('src/scripts/**/**/**/**/**/**/**/**/*.js')
//.pipe(jshint('.jshintrc'))
// .pipe(jshint.reporter('default'))
// .pipe(concat('main.js'))
.pipe(rename({ suffix: '.min' }))
.pipe(uglify())
.pipe(gulp.dest('dist/scripts'))
.pipe(notify({ message: 'Scripts task complete' }));
});
// Images
gulp.task('images', function() {
return gulp.src('src/images/**/*')
.pipe(cache(imagemin({ optimizationLevel: 3, progressive: true, interlaced: true })))
.pipe(gulp.dest('dist/images'))
.pipe(notify({ message: 'Images task complete' }));
});
// Clean ,
gulp.task('clean', function(cb) {
del(['dist/**/**/**/**/**/**/*'], cb)
});
// Default task
gulp.task('default', ['clean'], function() {
gulp.start('styles', 'scripts', 'images');
});
// Watch
gulp.task('watch', function() {
// Watch .scss files
gulp.watch('src/styles/**/**/**/**/**/**/**/**/**/**/*.css', ['styles']);
// Watch .js files
gulp.watch('src/scripts/**/**/**/**/**/**/**/**/**/**/**/*.js', ['scripts']);
// Watch image files
gulp.watch('src/images/**/**/**/**/**/**/**/**/**/**/*', ['images']);
// Create LiveReload server
livereload.listen();
// Watch any files in dist/, reload on change
gulp.watch(['dist/**']).on('change', livereload.changed);
});