Node.js
つぶやく
サーチ…
備考
参考文献:
Gruntとgrunt-cliの特定の、生産中の、または開発中のバージョンのインストールについての詳細な情報は、 gruntのインストールのガイドにあります。
タスクの設定ガイドには、Gruntfile内のタスク、ターゲット、オプション、ファイルの設定方法、テンプレートの説明、パターンのグロビング、外部データのインポートなどの詳細な説明があります。
GruntJsの紹介
GruntはJavaScriptタスクランナーであり、ミニフェーション、コンパイル、単体テスト、リンピングなどの繰り返しタスクの自動化に使用されます。
始めに、Gruntのコマンドラインインターフェイス(CLI)をグローバルにインストールしたいと思うでしょう。
npm install -g grunt-cli
新しいGruntプロジェクトの準備:典型的な設定は、プロジェクトに2つのファイルpackage.jsonとGruntfileを追加することです。
package.json:このファイルは、npmモジュールとして公開されたプロジェクトのメタデータを格納するためにnpmによって使用されます。 gruntと、プロジェクトに必要なGruntプラグインをこのファイルのdevDependenciesとして表示します。
Gruntfile:このファイルの名前はGruntfile.jsで、タスクの設定や定義、Gruntプラグインの読み込みに使用されます。
Example package.json:
{
"name": "my-project-name",
"version": "0.1.0",
"devDependencies": {
"grunt": "~0.4.5",
"grunt-contrib-jshint": "~0.10.0",
"grunt-contrib-nodeunit": "~0.4.1",
"grunt-contrib-uglify": "~0.5.0"
}
}
gruntfileの例:
module.exports = function(grunt) {
// Project configuration.
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
uglify: {
options: {
banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n'
},
build: {
src: 'src/<%= pkg.name %>.js',
dest: 'build/<%= pkg.name %>.min.js'
}
}
});
// Load the plugin that provides the "uglify" task.
grunt.loadNpmTasks('grunt-contrib-uglify');
// Default task(s).
grunt.registerTask('default', ['uglify']);
};
gruntpluginsのインストール
依存関係を追加する
gruntpluginを使用するには、まずそれをプロジェクトに依存するものとして追加する必要があります。例としてjshintプラグインを使ってみましょう。
npm install grunt-contrib-jshint --save-dev
--save-dev
オプションを使用してpackage.json
にプラグインを追加します。この方法では、 npm install
後にプラグインが常にインストールされます。
プラグインの読み込み
あなたは使用してgruntfileファイルにあなたのプラグインを読み込むことができloadNpmTasks
。
grunt.loadNpmTasks('grunt-contrib-jshint');
タスクの設定
gruntfileにタスクを設定すると、grunt.initConfigに渡されたオブジェクトにjshint
というプロパティが追加されgrunt.initConfig
。
grunt.initConfig({
jshint: {
all: ['Gruntfile.js', 'lib/**/*.js', 'test/**/*.js']
}
});
あなたが使用している他のプラグインに対して他のプロパティを持つことができることを忘れないでください。
タスクの実行
プラグインを使用してタスクを実行するには、コマンドラインを使用します。
grunt jshint
あるいは、別のタスクにjshint
を追加することもできます。
grunt.registerTask('default', ['jshint']);
デフォルトのタスクはオプションなしでターミナルのgruntコマンドで実行されます。