2017-01-03 9 views
1

サーバ上の複数のプロジェクトでコンパスウォッチを使用するためのgruntjs設定はありますか? 私のフォルダ構造は次のようになります:複数プロジェクトでのgruntjsコンパス監視の使い方

[PROD] 
[project1] 
    [css] 
    styles.css 
    [js] 
    functions.js 
    index.php 
    [scss] 
    styles.scss 

[project2] 
    [css] 
    styles.css 
    [js] 
    functions.js 
    index.php 
    [scss] 
    styles.scss 

[project3] 
    [css] 
    styles.css 
    [js] 
    functions.js 
    index.php 
    [scss] 
    styles.scss 

[TEST] 
    [project1] 
    [css] 
    styles.css 
    [js] 
    functions.js 
    index.php 
    [scss] 
    styles.scss 

    [project2] 
    [css] 
    styles.css 
    [js] 
    functions.js 
    index.php 
    [scss] 
    styles.scss 

    [project3] 
    [css] 
    styles.css 
    [js] 
    functions.js 
    index.php 
    [scss] 
    styles.scss 

n.b.はい、テストフォルダは本番フォルダの内側にあります。 私は自動ウォッチャーを実行する必要があります、私は同じ時間に多くのプロジェクトで作業します。

答えて

0

コンパスなしでコンパイルすることをおすすめします。 ここで私の最終的なスクリプトスクリプトは、変更されたファイルだけをコンパイルします。

module.exports = function(grunt) { 

grunt.initConfig({ 
    pkg: grunt.file.readJSON('package.json'), 

    watch: { 
    sass: { 
     files: [ 
      'pippo/*/scss/*.scss', 
      'pippo/test/*/scss/*.scss' 
     ], 
     tasks: ['sass'], 
     options: { 
      spawn: false 
     } 
    } 
    }, 

    sass: { 
    dist:{ 
     options: { 
      style: 'compressed' 
     }, 
     files: { 
     'pippo/test/statics/css/ie.css' : 'pippo/test/statics/scss/ie.scss' 
     } 
    } 
    } 

}); 

grunt.event.on('watch', function(action, filepath) { 
    var filepath_scss = filepath; 
    var filepath_css = filepath.replace("scss", "css"); 
    filepath_css = filepath_css.replace("scss", "css"); 
    var finalpath = {}; 
    finalpath[filepath_css] = filepath_scss; 
    grunt.config('sass.dist.files', finalpath); 
}); 

grunt.loadNpmTasks('grunt-contrib-sass'); 
grunt.loadNpmTasks('grunt-contrib-watch'); 
grunt.registerTask('default',['watch']); 
}; 
関連する問題