【问题标题】:BrunchJS joinTo parent directory (brunch-config.coffee)BrunchJS joinTo 父目录 (brunch-config.coffee)
【发布时间】:2015-09-16 22:09:07
【问题描述】:

我想像这样从 joinTo 中的父目录获取资产:

exports.config =
  paths:
    public: './../public'
    compass: './config.rb'
    watched: ['app']

  files:
    javascripts:
      joinTo: 
        '/js/master.js':/^(../../../directory/target|app[\/\\]public)/

我的问题来自这个../../../directory/target 到一个或多个目录。

但这似乎不可能,因为BrunchJS使用Regex来查找目录。

有办法做我想做的事吗?

谢谢

【问题讨论】:

  • 只是在黑暗中拍摄:尝试使用/^((?:\.\.\/)+directory\/target|app[\/\\]public)/。

标签: regex brunch


【解决方案1】:

不确定我是否完全理解您的问题或对问题所在的描述。或者甚至是您试图与该正则表达式匹配的内容——app 是target 的同级,还是cwd 的本地?

但您不需要使用单个正则表达式。您可能会发现使用 glob 模式或 glob/正则表达式/路径数组更容易,例如

files:
  javascripts:
    joinTo: 
      'js/master.js': [
        '../../../directory/target/**/*',
        'app/public/**/*'
      ]

看看Brunch joinTo documentation和anymatch documentation。

您还需要注意目标文件中的前导斜杠,它可能会被解释为绝对路径。

【讨论】:

  • 我想匹配target。所以,你解决了我的问题。我从来没有见过这样的配置(在joinTo中),没有正则表达式匹配。谢谢你的帮助!
  • 我还没有解决我的问题...对不起,我在 path.watched 中使用了这个路径,但它不起作用'./../../../../*/dynamix/*/assets/public' joinTo 中的同样的事情'./../../../../*/dynamix/*/assets/public/**'
  • './../../../../*/dynamix/*/assets/public/**' 不会匹配任何文件。也许您需要单独描述您尝试匹配的路径,以便在定义适当的 glob 时获得帮助。
  • 谢谢你的回答 :) 我有一个关于我的第一个问题的替代方案.. 对于我的手表,我把这个 './../../../../workbench/dynamix/i18n/public/public' 和它工作正常对于 joinTo 我得到一个错误,因为一旦两个它不是好的目录..主要变化是在工作台和供应商之间,但我可以使用其他选择..
  • 我的替代方案不起作用...我不得不为我的项目使用动态路径。我可以制作一个函数(任意匹配)来测试路径或其他东西吗?我需要在我的路径中使用*。例如:../../../*/path/to/files/** 你有什么解决方案吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-08-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-25
  • 2012-07-09
  • 1970-01-01
相关资源
最近更新 更多