gulpでjsファイルをminifyする
目的
gulpを使ってtest.js
をminifyしてtest.min.js
を作成します。
事前準備
- npmをインストール
- ディレクトリ構成は以下のような構成を想定しています
gulp_test/
├ package.json
├ gulpfile.js
├ index.html
└ js/test.js
js-minifyのタスクを作成する
必要なものをインストール
npm install gulp gulp-uglify gulp-rename
-
gulp-uglify
: jsのminifyを行う
-
gulp-rename
: minifyしたファイル名ちゃんと.min.jsに変更する
gulpfile.jsの修正
gulp_test/
├ package.json
├ gulpfile.js
├ index.html
└ js/test.js
必要なものをインストール
npm install gulp gulp-uglify gulp-rename
-
gulp-uglify
: jsのminifyを行う -
gulp-rename
: minifyしたファイル名ちゃんと.min.jsに変更する
gulpfile.jsの修正
gulpfile.jsを以下のように修正します
var gulp = require('gulp');
var uglify = require('gulp-uglify');
var rename = require('gulp-rename');
//js minify
gulp.task('js-minify', function() {
gulp.src(['./js/*.js', '!./js/*.min.js'])
.pipe(uglify())
.pipe(rename({extname: '.min.js'}))
.pipe(gulp.dest('./html/js/'));
});
実行
以下のコマンドを実行するとtest.min.jsができます
gulp js-minify
おまけ1(開発環境の自動化)
jsファイルを変更したら、ブラウザに自動反映を行うようにします
インストール
npm install gulp gulp-uglify gulp-rename gulp-watch gulp-plumber browser-sync
gulpfileの記述
var gulp = require('gulp');
var uglify = require('gulp-uglify');
var rename = require('gulp-rename');
var watch = require('gulp-watch');
var plumber = require('gulp-plumber');
var browserSync = require('browser-sync').create();
gulp.task("default", ["browser-sync","watch"] ,function () {
browserSync.reload;
});
gulp.task('watch', function() {
gulp.watch(['./js/*.js', '!./js/*.min.js'], ['js-minify']);
});
//js minify
gulp.task('js-minify', function() {
gulp.src(['./js/*.js', '!./js/*.min.js'])
.pipe(plumber())
.pipe(uglify())
.pipe(rename({extname: '.min.js'}))
.pipe(gulp.dest('./html/js/'))
.pipe(browserSync.stream());
});
gulp.task('browser-sync', function() {
browserSync.init({
proxy: "http://localhost/gulp_test",
port: 3000,
});
});
実行
gulp
ブラウザで http://localhost:3000/gulp_test が開きます。
jsファイルを変更すると自動でリロードされます。
おまけ2(はまりどころ)
['./js/*.js', '!./js/*.min.js']
のような記述がありましたが
['./js/*.js']
だけの記述してしまうと
タスクを実行するたびにjsファイルが増殖してしまうのでご注意ください。
関連リンク
興味があればこちらもどうぞ → gulpでscssファイルをコンパイルしライブリロードするまで
Author And Source
この問題について(gulpでjsファイルをminifyする), 我々は、より多くの情報をここで見つけました https://qiita.com/suisui654/items/9889425f07beedd313d0著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .