我已经设置了grunt,将所有的coffee文件编译为javascript,并使用动态映射来维护所有文件夹结构,效果非常好。
coffee: {
dynamic_mappings: {
files: [{
expand: true,
cwd: 'assets/scripts/src/',
src: '**/*.coffee',
dest: 'assets/scripts/dest/',
ext: '.js'
}]
}
}
我想要做的是使用watch来编译任意更改过的咖啡文件,并仍然保持文件夹结构。使用上述任务和以下watch任务可以实现这一点:
watch: {
coffeescript: {
files: 'assets/scripts/src/**/*.coffee',
tasks: ['coffee:dynamic_mappings']
}
}
问题在于当一个文件发生变化时,它会再次将整个 coffee 目录编译为 JavaScript,如果只编译该文件所做的更改,那将是极好的。这在 Grunt 中是否自然可行?还是需要自定义功能实现。关键在于它必须保持文件夹结构,否则就容易出错。
我们在工作中有定制的监视脚本,并且我正在尝试将其转移到 Grunt 上,但需要此功能才能实现。
coffee
和watch
任务中都是如此)。对于200个文件,你可能需要动态地这样做,但这会更加困难。 - Jordan Kasper