如何在assets目录中编译单个CoffeeScript文件?

时间:2014-01-23 18:23:13

标签: brunch

我有一个在Brunch.io中构建的应用程序,它将主框架构建到app.js中,但是在我的资源文件夹中,我有各种小的coffeescript脚本需要单独编译,而不是合并为一个。

有没有办法首先编译CS然后将其移动到公共文件夹,就像资产中的其他内容一样?

我注意到有一些插件可以使用Jade模板执行此操作(因此您可以在assets文件夹中使用.jade文件)。这需要一个新的插件吗?

如果没有明显的方法,至少有一种方法来定义配置文件,以便它可以观看不同的文件夹并将每个.coffee文件编译为它自己的.js文件,而无需将它们全部加在一起,还是需要在配置中指定每个文件?

1 个答案:

答案 0 :(得分:3)

由于没有答案,这里是(稍微有些hacky)我最终做的方式:

我安装了After-Brunch插件,并将这两个命令添加到我的配置文件中,该文件在Brunch每次编译后运行:

  plugins:
    afterBrunch: [
      'find public/ -type f -name "*.coffee" -delete'
      'coffee --compile --output public app/assets/'
    ]

因此,这只是显式删除Brunch移动到public /的.coffee文件,然后编译assets /中的所有.coffee文件,并将它们移动到public /。 Hacky,但它工作正常。

这令人烦恼地感到非常倒退:它会感觉更清洁(即使只是在我的脑海中)来编译那些已经已经移动到公共/ Brunch的.coffee文件,但Coffee没有我有一个我知道的就地转换选项(即替换文件),并在public / first上运行转换器然后删除所有* .coffee文件不起作用,因为删除命令在我之前执行编译命令已经完成......但是,这种区别可能只是在我脑海中 - 这样做也很有效。

如果有人有类似早午餐的解决方案,那就太棒了。