Tôi mới đến Grunt, và cho đến nay tôi rất thích nó. Tôi muốn Grunt chỉ biên dịch các tệp đã thay đổi khi chạy grunt watch
Grunt: Xem nhiều tập tin, biên dịch chỉ thay đổi
Trong Grunfile.coffee tôi hiện có (các phần liên quan).
Lưu ý: tài sản/javascript/app.coffee và tài sản/javascript/app.js là thư mục
coffee:
default:
expand: true
cwd: "assets/javascript/app.coffee"
src: ["*.coffee"]
dest: "assets/javascript/app.js"
ext: ".js"
uglify:
dev:
options:
beautify: true
compress: false
mangle: false
preserveComments: 'all'
files:
"js/app.js": "assets/javascript/app.js/*.js"
"js/libs.js": "assets/javascript/libs/*.js"
watch:
coffeescript:
files: 'assets/javascript/**/*.coffee'
tasks: ["coffee"]
javascript:
files: "assets/**/*.js"
tasks: ["uglify:dev"]
livereload:
files: ["Gruntfile.coffee", "js/*.js", "*.php", "css/*.css", "images/**/*.{png,jpg,jpeg,gif,webp,svg}", "js/*.js", ]
options:
livereload: true
Có lẽ là một cách ngắn hơn xung quanh, nhưng tôi đang biên soạn app.coffee để app.js đầu tiên, để sau khi tôi phân phối tác phẩm của mình, những người không thoải mái với Coffeescript có thể duyệt mã theo cách hơi hợp lý.
Vấn đề với tất cả điều này là bây giờ mà tôi lưu một tập tin Coffeescript, tôi nhận được quá nhiều bước (tôi nghĩ):
>> File "assets/javascript/app.coffee/browse.coffee" changed.
Running "coffee:default" (coffee) task
File assets/javascript/app.js/browse.js created.
File assets/javascript/app.js/filters.js created.
Done, without errors.
Completed in 0.837s at Tue May 28 2013 12:30:18 GMT+0300 (EEST) - Waiting...
OK
>> File "assets/javascript/app.js/browse.js" changed.
>> File "assets/javascript/app.js/filters.js" changed.
Running "uglify:dev" (uglify) task
File "js/app.js" created.
File "js/libs.js" created.
Done, without errors.
Completed in 0.831s at Tue May 28 2013 12:30:19 GMT+0300 (EEST) - Waiting...
OK
>> File "js/app.js" changed.
>> File "js/libs.js" changed.
Completed in 0.000s at Tue May 28 2013 12:30:19 GMT+0300 (EEST) - Waiting...
Hiện nay tôi chỉ lập dự án của tôi, nhưng tôi sẽ có nhiều tệp Coffeescript hơn và tôi không muốn Coffeescript biên dịch lại tất cả các tệp, trên mỗi tệp thay đổi.
Hơn nữa, libs.js không có phần nào trong tất cả điều này, nhưng tôi đoán nó vẫn được biên dịch, vì nó cũng khớp với mẫu "assets/* / .js".
Có cách nào để biến Grunt chỉ biên dịch các tệp đã thay đổi không?
bản sao có thể có của [Làm thế nào để bạn xem nhiều tệp, nhưng chỉ chạy tác vụ trên tệp đã thay đổi, trong Grunt.js?] (Http://stackoverflow.com/questions/12063266/how-do-you-watch- nhiều tập tin-nhưng-chỉ-chạy-tác vụ-trên-thay-tập-trong-grunt-js) –