14

プロジェクトに gruntjs を使用していますが、プロジェクトに複数の grunt.js ファイルを含めることができるかどうか疑問に思っていましたか? 私が尋ねている理由は、私のプロジェクトが次のように構成されているからです。

grunt.js
|
|- project1
|   |
|   |-grunt.js
|
|- project2
|
|- project3 (etc..)

トップレベルの grunt.js ですべてのプロジェクトをビルドしたい。ただし、プロジェクトのリストが大きくなるにつれて、最上位の grunt.js ファイルが巨大になることは望ましくありません。トップレベルのグラントがプロジェクトレベルのグラントファイルを呼び出してビルドできるように整理したいと思います。または、誰かが project1 をビルドしたい場合は、project1 フォルダーに移動して、独自の grunt.js を実行できます。これはできますか?もしそうなら、どうすれば他の grunt ファイルを呼び出すことができますか? そうでない場合、巨大な grunt.js ファイルを 1 つ持つ以外の代替ソリューションは何ですか? ありがとう。

4

3 に答える 3

14

あなたがやりたいことをしているように見えるgrunt-hubと呼ばれるgruntタスクがあります。

うなり声ハブ:

複数のGruntプロジェクトでタスクを監視および実行するためのGruntタスク。

ハブタスク

ハブタスクは、複数のプロジェクトでタスクを実行するためのものです。どのGruntfileを使用し、どのタスクを各Gruntプロジェクトで実行するかを知りたい。たとえば、すべてのGruntプロジェクトを1つ上のフォルダでリントしてテストしたい場合は、次のようにします。

私はそれを使用していませんが、それはあなたの要件を満たすかもしれません。また、 grunt-execや、子プロセスを生成するための独自のタスクの作成など、より低いレベルを調べることもできます。

于 2012-12-04T01:26:40.950 に答える
0

この質問は古いかもしれませんが、コードを適切な方法で整理する方法があることを明確にしたいと思います。

このようなマルチコールを防ぐには:

grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-qunit');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-concat');

それらを次のものに置き換えます。

require('load-grunt-tasks')(grunt);

そして使用:

grunt-config-dir

フォルダーからタスクを実行するには。

詳細については、こちらをご覧ください。

于 2015-04-11T22:44:53.763 に答える