Brunch 在早午餐中分离应用程序和供应商css

Brunch 在早午餐中分离应用程序和供应商css,brunch,Brunch,我的早午餐模板将我的所有代码编译成app.js,并将所有第三方依赖项编译成vendor.js(一种相当标准的方法)。我想用CSS做同样的事情,但当我开始使用Bower时,一些东西停止了工作,我现在得到了以下错误: 错误:无法将config/path加载到root/config.coffee。SyntaxError:意外{ 在Object.exports.loadConfig(/usr/local/share/npm/lib/node_modules/brunch/lib/helpers.js:4

我的早午餐模板将我的所有代码编译成
app.js
,并将所有第三方依赖项编译成
vendor.js
(一种相当标准的方法)。我想用CSS做同样的事情,但当我开始使用Bower时,一些东西停止了工作,我现在得到了以下错误:

错误:无法将config/path加载到root/config.coffee。SyntaxError:意外{ 在Object.exports.loadConfig(/usr/local/share/npm/lib/node_modules/brunch/lib/helpers.js:448:15)

从如下所示的配置文件(config.cofe):

files:
    javascripts:
      joinTo: 
        'javascripts/app.js': /^app/
        'javascripts/vendor.js': /^(bower_components|vendor)/
        'test/javascripts/test-vendor.js': /^test(\/|\\)(?=vendor)/

    stylesheets:
      joinTo:
        'stylesheets/app.css': /^app/
        'stylesheets/vendor.css': /^(bower_components|vendor)/
如果我只是去掉样式表的两行,并将这一行放在它的位置上,它就可以正常工作:

'stylesheets/vendor.css':/^(应用程序| bower|u组件|供应商)/

我一直生活在这种情况下,但这会造成越来越多的问题,我想把它整理好。任何帮助都将不胜感激


如果有问题的话……我使用的早午餐版本是1.7.6。

这很奇怪,但我必须为同一个案例做以下操作(添加/结尾)

stylesheets: {
    joinTo: {
        'css/vendor.css': /^(vendor|bower_components)\//,
        'css/styles.css': /^app\/css\//
    }
}

我感到困惑,但我认为Paul的建议可能是文件中有一个特殊的角色。我现在使用的配置似乎与之前没有使用的配置相同。以下是完整的配置文件:

sysPath = require 'path'

exports.config =
  # See http://brunch.io/#documentation for documentation.
  files:
    javascripts:
      joinTo:
        'javascripts/app.js': /^app/
        'javascripts/vendor.js': /^(bower_components|vendor)/
        'test/javascripts/test-vendor.js': /^test(\/|\\)(?=vendor)/

    stylesheets:
      joinTo: 
        'stylesheets/app.css': /^app/
        'stylesheets/vendor.css': /^(bower_components|vendor)/

    templates:
      precompile: true
      root: 'templates'
      joinTo: 'javascripts/app.js' : /^app/

      modules:
        addSourceURLs: true

  # allow _ prefixed templates so partials work
  conventions:
    ignored: (path) ->
      startsWith = (string, substring) ->
        string.indexOf(substring, 0) is 0
      sep = sysPath.sep
      if path.indexOf("app#{sep}templates#{sep}") is 0
        false
      else
        startsWith sysPath.basename(path), '_'

我和Ken遇到了同样的问题。我解决这个问题的方法是从
config.coffee
文件中删除有问题的行,然后从头开始重新键入。这样可以确保不存在隐藏字符,并使脚本再次运行。

我使用的正则表达式还可以。对我来说,问题是文件中有一个隐藏字符(或者至少我是这么认为的)因为我现在基本上有相同的文件,但它没有给我一个错误。