2013-08-12 6 views
20

プロジェクトのサブディレクトリにGrunt設定ファイルを置くことは可能ですか?物事をもっと整理するために、私はこれをしたいと思っています。Gruntをサブディレクトリに入れる

など。

  • でmyproject /イサキ/ Gruntfile.js

  • でmyproject /イサキ/ package.json

  • でmyproject /イサキ/ node_modules/

私が実行している問題を抱えていますこの設定でGruntfile.jsのコマンドを実行します。グランツは親ディレクトリを見て処理できますか?それとも私はそれが間違って

sass: { 
    dev: { 
     files: { 
      "../style.css": "../scss/style.scss" 
     } 
    } 
} 

私はこのうなり声だけではない、私はそれが親ディレクトリに見てみたいことを理解した上で、肩をすくめているようだ実行すると...

Source file "scss/style.scss" not found. 

答えて

27

はい、これがあるべきやっています可能であれば、grunt.file.setBase methodまたは--baseコマンドラインオプションを使用して、プロジェクトのルートにGruntfileを配置したのと同じようにタスクを機能させることができます。それ以外の場合は、デフォルトで作業ディレクトリの外部のパスに書き込まれないタスクについて、さまざまな問題が発生します。たとえば、grunt-contrib-cleanプラグインのforce optionなどです。ここで

では、このメソッドを使用するsample Gruntfile from the Getting Started pageを変更する例です。

module.exports = function(grunt) { 

    // if you put the call to setBase here, then the package.json and 
    // loadNpmTasks paths will be wrong!!! 

    // 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'); 

    // now that we've loaded the package.json and the node_modules we set the base path 
    // for the actual execution of the tasks 
    grunt.file.setBase('../') 

    // Default task(s). 
    grunt.registerTask('default', ['uglify']); 

}; 

私はSASSを使用していないので、何があなたのタスクの設定で間違っている可能性があるかどうかについてはコメントできませんが、上記入門例の変更として機能します。

+0

あなたの答えに感謝します。あなたは私に例を挙げることができますか?私が一例を見るとすぐに私は理解するでしょう。私はドキュメントを読んだことがありますが、残念なことに例はありません。それは 'grunt.file.setBase( '../');'のようなものでしょうか?その行をファイルに追加しましたが、違いはありません。 – SparrwHawk

+0

私を無視して、私はばかです。私のGruntfile.jsは間違ったディレクトリにあります。 'grunt.file.setBase( '../');確かに行く方法でした。ありがとう – SparrwHawk

+0

@SparrwHawk編集の回答を見る – explunit

関連する問題