私は変更をライブリロードする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>
私は上記のように時計を再設定しましたが、残念ながらライブリロードは実行されません。 – Ari
あなたは 'grunt watch --verbose'を実行することができ、それがコンソールにリロードされたときに通知します。私はあなたが '' grunt.loadNpmTasks( 'grunt-contrib') 'を使っているのに気づきましたが... ...それはライブリロードを持たないwatchタスクの古いバージョンを使用しています。私は 'grunt-contrib'を使用せず、各モジュールを個別にロードすることを推奨しません。 –
各モジュールを個別に読み込んで問題を解決しました。ありがとう。 – Ari