早午餐配置文件conventions.assets:如何从非默认位置复制?

时间:2013-09-03 15:05:02

标签: brunch

根据早午餐文档,配置文件中的属性“conventions.assets”应该是正则表达式,但我试图包含以下内容:

conventions: {
    assets: /^app\/.*\.html/
}

将所有htmls添加到公用文件夹中。 (我知道我可以创建一个资源文件夹并包含所有内容,但根据我们已经同意的结构,目前还不可能。)

我认为这个属性需要一个目录,在这种情况下我可以修复这个值以达到我的目标吗?可能有一个函数吗?

2 个答案:

答案 0 :(得分:3)

最后,我可以覆盖属性“资产”接受的方法。

assets: function(path) {
    /**
     * Loops every path and returns path|true|false according what we need
     * @param   path    file or directory's path
     * @returns path    if it is a directory
     *          true    if it fit with the regular expression
     *          false   otherwise
     *
     */
    if( /\/$/.test(path) ) return path;
    return /^app\/.*\.html/.test(path); // RegExp for anything we need
}

答案 1 :(得分:2)

我想过如果有人很难搞清楚如何继续,我会评论我的功能如何:

assets: function(path) {
 /**
  * Loops every path and returns path|true|false according what we need
  * @param   path    file or directory's path
  * @returns path    if it is a directory
  *          true    if it fit with the regular expression
  *          false   otherwise
  *
  */
  if( /\/$/.test(path) ) return path;
  return /^(app|assets)\/.*\.(html|png|jpg|jpeg|eot|svg|ttf|woff)/.test(path);
}

这会将app - 和assets - 文件夹中的文件与html, png, jpg, jpeg, eot, svg, ttf, woff文件夹中的public文件夹一起移动。

我决定将我们的assets - 文件夹移动到根结构,所以我们的结构现在看起来像这样:

frontend
  - app
  -- common/
  -- styles/
  -- etc etc
  - assets
  -- index.html
  -- css/
  -- images/
  -- etc etc