我有以下的Gruntfile.coffee文件。如下所示,我正在监视watch任务以查看文件更改,然后将更改后的文件编译为CoffeeScript。
但似乎这并不起作用。有什么想法吗?
# Watch task
watch:
coffee:
files: ['client/**/*.coffee','server/**/*/.coffee']
options:
nospawn: true
livereload: true
# Watch changed files
grunt.event.on 'watch', (action, filepath) ->
cwd = 'client/'
filepath = filepath.replace(cwd,'')
grunt.config.set('coffee',
changed:
expand: true
cwd: cwd
src: filepath
dest: 'client-dist/'
ext: '.js'
)
grunt.task.run('coffee:changed')
然而,我想添加另一个监视任务来复制非咖啡文件。我该如何监视这些更改?
我考虑执行:
# Watch copy task
grunt.event.on 'watch:copy', (action,filepath) -> ...
# Watch coffee task
grunt.event.on 'watch:coffee', (action,filepath) -> ...
但似乎这并不起作用。有什么想法吗?
watch
事件中使用grunt.config.set()
。只是不要在watch
事件中使用grunt.task.run()
。这就是tasks
的作用。 - Kyle Robinson Young