【问题标题】:Why is brunch not adding javascript from sub directories of /app?为什么早午餐不从 /app 的子目录添加 javascript?
【发布时间】:2014-02-14 05:06:39
【问题描述】:

我有一个位于 ~/lens/v 的早午餐 config.coffee 文件,其中包括以下几行:

  files:
    javascripts:
      defaultExtension: 'coffee'
      joinTo:
        'javascripts/app.js': /^app/

Brunch 获取位于 /app 目录根目录的扩展名为 .js 的文件,并将它们连接到 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)时,我得到了相同的行为。

我可以采取哪些步骤来调试它?

【问题讨论】:

标签: brunch


【解决方案1】:

问题在于,Brunch 对资产有特殊处理。它们的处理方式与您希望编译的文件不同 - 按原样复制到您的公共目录中。

解决您所描述的问题的最简单方法是将咖啡脚本移至app 下的其他位置,但不要移至assets

或者,您可以在 conventions.assets 下的早午餐配置中重新配置被视为资产的内容。 https://github.com/brunch/brunch/blob/stable/docs/config.md#conventions

【讨论】:

    【解决方案2】:

    几天前我问了同样的问题,并在这里回答:

    How can I compile individual CoffeeScript files in the assets directory?

    如果您想将这些文件保留在 assets/ 中,我的解决方案是使用 After-Brunch 插件并手动转换它们,如我在上面的链接中所示。

    否则,将它们从 assets/ 中移出,并首先使用我链接到的 coffeescript 插件。

    【讨论】:

      猜你喜欢
      • 2018-05-07
      • 2018-08-27
      • 2015-07-16
      • 1970-01-01
      • 2018-07-17
      • 2016-12-14
      • 1970-01-01
      • 2016-01-19
      • 1970-01-01
      相关资源
      最近更新 更多