Tôi đang cố định cấu hình grunt thành các tệp tin tải xuống và các tệp less/css trên các thay đổi. Trong khi grunt không chính xác "xem" và thực hiện các nhiệm vụ được giao, nó không tải các tập tin. Dưới đây là cấu hình của tôi, có ai thấy điều gì sai không?Grunt Live-Reload qua Watch
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"]);
};
Lưu ý: Tôi đã bao gồm thẻ tập lệnh sau trong thẻ đầu html.
<script src="http://localhost:35729/livereload.js"></script>
Tôi đã định cấu hình lại đồng hồ như bạn đã đề xuất ở trên, nhưng rất tiếc, tải lại trực tiếp vẫn không thực thi. – Ari
Bạn có thể làm 'grunt watch --verbose' và nó sẽ cho bạn biết khi nó tải lại trong giao diện điều khiển. Mặc dù tôi nhận thấy bạn đang sử dụng 'grunt.loadNpmTasks ('grunt-contrib')' ... sử dụng phiên bản cũ hơn của tác vụ xem không tải lại trực tiếp. Tôi khuyên bạn nên * không * bằng cách sử dụng 'grunt-contrib' và tải từng mô-đun riêng lẻ. –
Tải từng mô-đun riêng lẻ đã giải quyết được sự cố. Cảm ơn. – Ari