jsファイルをminifyするためのgulup設定
前回作成した、typescript環境にjavascriptのminifyを追加してみる。ついでに、npm installも試してみる
package.json
新しいプロジェクトディレクトリを作成して、そこに前回利用したpackage.jsonを置く
npm installでモジュールをインストール
npm installを実行すると、package.jsonの内容から、必要なモジュールがインストールされる
こんな感じでインストールされている
1
2
3
4
5
6
7
8
9
10
| $ tree -L 2
.
├── node_modules
│ ├── gulp
│ ├── gulp-typescript
│ ├── gulp-watch
│ └── require-dir
└── package.json
5 directories, 1 file
|
あとは、前回作成したモジュール以外のファイルを持ってくる
gulp-uglify
javascriptファイルをminifyするための、gulp-uglifyをインストールする
1
| $ npm install --save-dev gulp-uglify
|
/gulp/tasks/tsc.jsの内容前回作成したtsc.jsを以下のように編集する
1
2
3
4
5
6
7
8
9
10
11
12
13
| var gulp = require("gulp");
var ts = require("gulp-typescript");
var uglify = require('gulp-uglify');
var config = require("../config");
gulp.task("tsc", function() {
gulp.src(config.ts.src)
.pipe(ts(config.ts.options))
.js
.pipe(gulp.dest(config.ts.dest))
.pipe(uglify(config.uglify.options))
.pipe(gulp.dest(config.uglify.dest));
});
|
./gulp/config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| module.exports = {
ts: {
src: "./src/ts/**/*.ts",
dest: "./src/js",
options: {
removeComments: true,
noImplicitAny: true,
noLib: false,
onoEmitOnErrorut: false,
target: "ES5"
}
},
// for gulp-uglify
uglify: {
dest: "./src/js/min",
options: {
beautify:true,
preserveComments: 'some'
}
}
};
|
これでgulpを実行すると、通常のjsファイルとminifyされたjsファイルができましたね。
1
2
3
4
5
| $ ls -R ./src/js
min sample.js
./src/js/min:
sample.js
|