フロントエンド自動化の神器Gulp
4409 ワード
NodejsはJavascriptをサービスに持ってきただけでなく、フロントエンドに自動化の波が巻き起こり、フロントエンドの仕事の歴史的な変化を推進しました.今日は皆さんと一緒にフロントエンド自動化の神器Gulpを勉強します.
自動化といえば、Grauntはもちろん欠かせません.この先輩はコミュニティが完備していて、何千もの既製のプラグインを持っています.installは文書を参考にすれば配置できます.Gulpの出現、その精華を取ってGuntに取って代わることを望んで、最も流行っているJavascript構築のツールになって、Gulpはコードの配置の策略に優れることを採用して、簡単な事を引き続き簡単にならせて、複雑な事を管理することができます;
Grauntとの違い:
ストリーム:Gulpは、ストリームベースの構築システムであり、コードを使用して構成より優れた戦略である. プラグイン:Gulpのプラグインはより純粋で、単一の機能を持ち、一つのプラグインは一つのことしかしないと主張しています. コードは構成より優れています.Glpを維持することはコードを書くようになり、GulpはCommon JS規格に準拠していますので、Nodeプログラムを書くことと変わりはありません. 中間ファイルが生成されていません.
Gulpを使う利点は、ストリームを利用してファイルの処理を行い、パイプを通して複数のタスクと操作を接続するため、I/Oのプロセスは一回だけで、プロセスがより明確で、より純粋です.Gulpは中間ファイルを削除し、最後の出力だけをディスクに書き込むので、プロセス全体が速くなります.
次のルートディレクトリの下にGulpfile.jsを新たに作成します.次のタスクを完了します.
ピクチャの可逆圧縮 Sassファイルのコンパイル圧縮 JSファイルの圧縮結合 以上のタスクのリアルタイム傍受
cmdはプロジェクトのルートディレクトリに入り、必要なGulpとプラグインをインストールします.
自動化といえば、Grauntはもちろん欠かせません.この先輩はコミュニティが完備していて、何千もの既製のプラグインを持っています.installは文書を参考にすれば配置できます.Gulpの出現、その精華を取ってGuntに取って代わることを望んで、最も流行っているJavascript構築のツールになって、Gulpはコードの配置の策略に優れることを採用して、簡単な事を引き続き簡単にならせて、複雑な事を管理することができます;
Grauntとの違い:
Gulpを使う利点は、ストリームを利用してファイルの処理を行い、パイプを通して複数のタスクと操作を接続するため、I/Oのプロセスは一回だけで、プロセスがより明確で、より純粋です.Gulpは中間ファイルを削除し、最後の出力だけをディスクに書き込むので、プロセス全体が速くなります.
次のルートディレクトリの下にGulpfile.jsを新たに作成します.次のタスクを完了します.
cmdはプロジェクトのルートディレクトリに入り、必要なGulpとプラグインをインストールします.
1 npm install gulp gulp-imagemin gulp-ruby-sass gulp-uglify gulp-cache gulp-watch --save-dev
GulpはCommunjsの規定に従いますので、Nodejsのプログラムを書くようにプラグイン達requireを中に入れることができます.1 var gulp=require('gulp');
2 var imagemin=require('gulp-imagemin');
3 var cache=require('gulp-cache');
4 var uglify=require('gulp-uglify');
5 var sass=require('gulp-ruby-sass');
6 var watch=require('gulp-watch');
次に私達が達成するべき任務を完成します. 1 //
2 gulp.task('imagemin',function() {
3 return gulp.src('./dist/images/**.*')
4 .pipe(cache(imagemin({ optimizationLevel: 3, progressive: true, interlaced: true })))
5 .pipe(gulp.dest('./dist/images'));
6 });
7
8 //js
9 gulp.task('uglify', function() {
10 gulp.src('./js/*.js')
11 .pipe(concat('all.js'))
12 .pipe(gulp.dest('./dist'))
13 .pipe(rename('all.min.js'))
14 .pipe(uglify())
15 .pipe(gulp.dest('./dist'));
16 });
17
18 //sass
19 gulp.task('sass',function() {
20 return sass('./dist/css/*.scss',{
21 style:'compressed',
22 loadPath:[
23 'common/vars',
24 'mixins/mixin',
25 'mixins/css3',
26 'common/reset',
27 'common/com-class',
28 'placeholders/placeholder'
29 ]
30 })
31 .pipe(gulp.dest('./dist/min'));
32 });
33
34 //
35 gulp.task('watch',function() {
36 gulp.watch('./dist/css/*.scss',['sass']);
37 gulp.watch('./dist/react/main4.js',['uglify']);
38 })
かっこいいですか各プラグインの詳細な配置は、自分でgithubしてください.