在我看来,您是在说您有两个构建脚本?对于string.js,我只是使用一个Cakefile 来实现你我认为你想要的。本质上,如果源文件发生变化,它会生成一个常规的 JS 文件,然后是一个 uglified 文件。
这是Cakefile的相关部分:
task 'watch', 'Watch src/ for changes', ->
browserTestFile = path.join(process.cwd(), 'test_browser', 'string.test.js')
coffee = spawn 'coffee', ['-w', '-c', '-o', 'lib', 'src']
coffee.stderr.on 'data', (data) -> 'ERR: ' + process.stderr.write data.toString()
coffee.stdout.on 'data', (data) ->
d = data.toString()
if d.indexOf('compiled') > 0
#invoke 'test'
fsw = fs.createWriteStream(browserTestFile, flags: 'w', encoding: 'utf8', mode: 0666)
coffee_test = spawn 'coffee', ['-c', '-p', 'test/string.test.coffee']
coffee_test.stdout.pipe(fsw, end: false)
uglify = spawn 'uglifyjs', ['lib/string.js']
uglify.stdout.pipe(fs.createWriteStream('lib/string.min.js'))
else
growl(d, title: 'Error', image: './resources/error.png')
process.stdout.write data.toString()