やりたいこと
- hoge-source.jsをminifyしてhoge.jsにする
- hoge-source.jsのファイル先頭にあるライセンス表記はminifyしても残したい
意外と同一ディレクトリ内にminifyして出す例が少なかったのでメモ。
やったこと
Gulpとgulp-uglifyを追加
% npm install --save-dev gulp
% npm install --save-dev gulp-uglify
% npm install --save-dev gulp-rename
gulp-renameなしで出力ファイル名指定するやり方が分からず…。
gulpfile.jsを作成
ポイントは、uglifyに {preserveComments: 'some'}
を渡すと、
/*!
License
*/
のように「 ! 」を追加したブロックコメントを残してくれること。
var gulp = require('gulp');
var uglify = require('gulp-uglify');
var rename = require('gulp-rename');
var source = 'hoge-source.js';
var exportSource = 'hogejs';
gulp.task('minify', function() {
gulp.src(source)
.pipe(uglify({preserveComments: 'some'}))
.pipe(rename(exportSource))
.pipe(gulp.dest('.'));
});
実行
% gulp minify
これで、minifyされたhoge.jsが完成。