Grunt.js でファイルを個別に minify する
grunt-contrib-uglify などで minify を行う際、そのままだと src に指定したファイルが一つにまとまった上で minify されるが、これをそれぞれのファイルで個別に minify したい場合はタスクのオプションで expand を true にし、動的なビルドを行う。
例えば、
assets |-- javascripts/ | |-- moment.js | `-- underscore.js `-- styles/ |-- cssreset-context.css `-- cssreset.css
の各 *.js, *.css をそれぞれ assets/javascripts/min/*.js, assets/styles/min/*.css として minify したい場合、Gruntfile は次のようになる。
サンプルプロジェクト
https://github.com/waltarix/grunt-minify-separately-sample
$ git clone https://github.com/waltarix/grunt-minify-separately-sample $ cd grunt-minify-separately-sample $ npm install $ grunt $ tree -sF assets assets |-- [ 170] javascripts/ | |-- [ 136] min/ | | |-- [ 14436] moment.js | | `-- [ 13422] underscore.js | |-- [ 43905] moment.js | `-- [ 41426] underscore.js `-- [ 170] styles/ |-- [ 2478] cssreset-context.css |-- [ 1554] cssreset.css `-- [ 136] min/ |-- [ 1642] cssreset-context.css `-- [ 719] cssreset.css 4 directories, 8 files