2013-06-12 4 views
7

カスタムGruntタスクを実装する必要があります。開発ワークフローについては絶対に失われています。Grunt:カスタムタスクの開発方法

  1. カスタムタスクを開発するにはどうすればいいですか?開発中にnpmを使ってロードする方法をシミュレートしますか?
  2. npmの代わりにカスタムタスクを配布する方法はありますか?つまり、カスタムのGruntタスク全体を定義するJavaScriptファイルを配布し、Gruntfile.jsに直接インポートすることはできますか?

タスク全体が非常に早い開発段階にあるため、おそらくnpmに公開する努力はお勧めできません。

ありがとうございます。

+0

グランタタスクは単なるノードモジュールです。それを読んでください。 'npm link'を使って、モジュールを他のモジュールとシンボリックリンクすることができます。 –

答えて

21

カスタムgruntタスクは基本的にnpmレジストリに公開できるノードモジュールです。既存のものを見て、ここでそれらを構築するための方法を文書化:

http://gruntjs.com/api/grunt.task

基本的にはちょうどこのような何か:それは簡単にあなたが、あなたが使用する必要があるために作るために

module.exports = function (grunt) { 

    // or use grunt.registerMultiTask 
    grunt.registerTask('your-taskname', 'your task description', function() { 
    }); 
}; 

grunt-initgrunt-init-gruntpluginは基本的にすべてのことを設定します!あなたがNPMにあなたのモジュールを公開したくない場合は

、あなたは(githubのを使用して、たとえば)gitリポジトリからプロジェクトにそれをインストールすることができます。

$ npm install git+https://github.com/your-user/your-repository --save 

--saveオプションとして、それを自動的に保存しますプロジェクトpackage.jsonへの依存。

あなただけの(私はここで作男・タスクを使用する)任意のディレクトリにあることを入れて、あなたのタスクとプロジェクト内の単一のjsファイルを含めると、そのようなあなたのgruntfileに含める場合:

grunt.loadTasks("./grunt-tasks"); 

このディレクトリにすべてのjsファイルをgruntタスクとして含めることを試みます。

+0

(+1) '。/ grunt-tasks'は' Gruntfile.js'に対して相対的ですか? –

+0

はい! (...ちょうど10文字以上...コメントを追加することができます;-)) – hereandnow78

+0

ハハハ、あなたの努力のおかげで、それは正しい道のようです。私はgit repoからタスクをインポートできるという事実が気に入っていました。これは素晴らしい!!ありがとう、 –

関連する問題