我有一个位于~/lens/v
的早午餐config.coffee文件,其中包含以下行:
files:
javascripts:
defaultExtension: 'coffee'
joinTo:
'javascripts/app.js': /^app/
Brunch获取扩展名为.js的文件,这些文件位于/ app目录的根目录中,并将它们连接到app.js中 - 但它不会连接位于/ app子目录中的文件。
具体来说,我正试图在~/lens/v/app/assets
~/lens/v/app/assets$ cat r.coffee
d3.select("body").style("background-color", "black");
我能够像这样构建项目
~/lens/v$brunch b
但是当我在app.js文件中搜索“d3”时,我找不到它。由于某种原因,JS没有被连接起来。
grep -r "d3" app.js //returns nothing
配置文件javascripts/app.js': /^app/
中的这一行应该将/ app中的任何javascript文件加入app.js.但这不会发生。当我将javascript文件的扩展名更改为.js(来自.coffee)时,我得到了相同的行为。
我可以采取哪些步骤来调试它?
答案 0 :(得分:1)
问题在于早午餐对资产有特殊处理。它们的处理方式与您希望编译的文件不同 - 按原样复制到公共目录中。
解决您所描述的问题的最简单方法是将该coffeescript移至app
下的其他位置,而不是assets
。
或者,您可以在conventions.assets
下的早午餐配置中重新配置被视为资产的内容。 https://github.com/brunch/brunch/blob/stable/docs/config.md#conventions
答案 1 :(得分:0)
几天前我问了同样的问题,并在这里回答:
How can I compile individual CoffeeScript files in the assets directory?
如果你希望将这些文件保存在assets /中,我的解决方案是使用After-Brunch插件并手动转换它们,就像我在上面的链接中所示。
否则,将它们移出资源/,并使用我首先链接的coffeescript插件。