2013-05-14 10 views
5

私は変更をライブリロードするjsとless/cssファイルにgruntを設定しようとしています。 gruntは正しく「監視」して割り当てられたタスクを実行しますが、ファイルをライブロードすることはありません。以下は私の構成ですが、何が間違っているのか誰にも見えますか?時計を介してGruntライブリロード

module.exports = function(grunt) { 
grunt.initConfig({ 
    pkg: grunt.file.readJSON("package.json"), 
    jshint: { 
     files: ["Gruntfile.js", "src/javascripts/**/*.js"], 
     options: { 
      globals: { 
       jQuery: true, 
       console: true, 
       module: true 
      } 
     } 
    }, 
    concat: { 
     options: { 
      stripBanners: true, 
      banner: "/*! <%= pkg.name %> - v<%= pkg.version %> - <%= grunt.template.today('yyyy-mm-dd') %> */\n", 
      separator: "\n" 
     }, 
     js: { 
      src: ["src/javascripts/main.js", "src/javascripts/**/*.js"], 
      dest: "../app/assets/javascripts/application.js" 
     }, 
     less: { 
      src: ["src/stylesheets/**/*.less"], 
      dest: "../app/assets/stylesheets/application.less" 
     } 
    }, 
    watch: { 
     js: { 
      files: ["<%= jshint.files %>"], 
      tasks: ["jshint", "concat:js"], 
      options: { 
       livereload: true 
      } 
     }, 
     less: { 
      files: ["<%= concat.less.src %>"], 
      tasks: ["concat:less"], 
      options: { 
       livereload: true 
      } 
     } 
    } 
}); 

grunt.loadNpmTasks("grunt-contrib"); 

grunt.registerTask("default", ["jshint", "concat"]); 
}; 

注:次のスクリプトタグをhtmlのheadタグに含めました。

<script src="http://localhost:35729/livereload.js"></script> 

答えて

9

設定では、同じポートで2つのライブリロードサーバを起動しようとしています。すべてのあなたの時計のターゲットにトリガする1台のライブリロードサーバーをご希望の場合は、単にタスクレベルで1つのlivereloadオプションを追加します。

watch: { 
    options: { 
    livereload: true 
    }, 
    js: { 
    files: ["<%= jshint.files %>"], 
    tasks: ["jshint", "concat:js"], 
    }, 
    less: { 
    files: ["<%= concat.less.src %>"], 
    tasks: ["concat:less"], 
    } 
} 
+0

私は上記のように時計を再設定しましたが、残念ながらライブリロードは実行されません。 – Ari

+6

あなたは 'grunt watch --verbose'を実行することができ、それがコンソールにリロードされたときに通知します。私はあなたが '' grunt.loadNpmTasks( 'grunt-contrib') 'を使っているのに気づきましたが... ...それはライブリロードを持たないwatchタスクの古いバージョンを使用しています。私は 'grunt-contrib'を使用せず、各モジュールを個別にロードすることを推奨しません。 –

+1

各モジュールを個別に読み込んで問題を解決しました。ありがとう。 – Ari

0

私はスクリプトタグがありませんでしたし、この

を追加した後、それ私のために働き始めた。 :)!

ありがとう、

関連する問題