Grunt †SCSS や minify などを行うWebクライアント(js、css) 用のビルドツール
インストール †Node.js インストール †https://nodejs.org/ から node.js をインストール grunt-cli インストール †npm install -g grunt-cli プロジェクト用ディレクトリを作成し移動 †mkdir example_grunt cd example_grunt package.json の作成 †npm init ※聞かれる質問は全部 [Enter] 押下でも良い。 プロジェクトフォルダ配下に grunt をインストール †npm install grunt --save-dev ※インストールが成功すると配下に node_modules フォルダが出来る。 プラグインの一括インストール †npm install grunt-contrib --save-dev ※grunt-contrib-sass などのように個別にインストールも可能。 Gruntfile.js の作成 †Gruntの設定ファイルは、JSON形式で記述する。 例)ログを出力するだけのデフォルトタスク †module.exports = function(grunt) { grunt.registerTask('default', 'testlog', function() { grunt.log.write('test log!!!').ok(); }); }; 例)js、cssのminify †module.exports = function(grunt) { // タスク定義 grunt.initConfig({ concat: { files: { src : 'js/*.js', dest: 'js-all.js' } }, uglify: { dist: { files: { 'js-all-min.js': 'js-all.js' // 'js-all-min.js': 'js/*.js' // concat と minify を一気に行う事も可 // 'js-all-min.js': ['js/test1.js', 'js/test2.js'] // 配列でファイルを複数指定も可 } } }, cssmin: { css : { src : 'css/*.css', dest : 'css-all-min.css' } }, watch: { js: { files: 'js/*.js' ,tasks: ['concat', 'uglify'] }, css: { files: 'css/*.css' ,tasks: ['cssmin'] } } }); // プラグインの読み込み grunt.loadNpmTasks('grunt-contrib-concat'); grunt.loadNpmTasks('grunt-contrib-uglify'); grunt.loadNpmTasks('grunt-contrib-cssmin'); grunt.loadNpmTasks('grunt-contrib-watch'); // デフォルトタスクの指定 grunt.registerTask('default', ["watch"]); }; 実行方法 † |