My Brunch模板将我的所有代码编译成app.js
,将所有第三方依赖项编译为vendor.js
(一种非常标准的方法)。我想用CSS做同样的事情它曾经工作但是当我转向使用Bower时停止工作的东西我现在得到以下错误:
错误:无法加载config /path-to-root/config.coffee。 SyntaxError:unexpected { at Object.exports.loadConfig(/usr/local/share/npm/lib/node_modules/brunch/lib/helpers.js:448:15)
来自配置文件(config.cofee),如下所示:
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':/ ^(app | bower_components | vendor)/
我一直与此生活在一起,但这引起了越来越多的问题,我想把它排序。任何帮助将不胜感激。
如果出现问题......我正在使用的早午餐版本是1.7.6。
答案 0 :(得分:4)
我感到困惑,但我认为保罗的建议似乎可能是一个特殊角色进入文件。我现在使用的配置似乎与之前没有工作的配置相同。这是完整的配置文件:
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), '_'
答案 1 :(得分:2)
这很奇怪,但我必须做同样的情况下的(添加/结尾)
stylesheets: {
joinTo: {
'css/vendor.css': /^(vendor|bower_components)\//,
'css/styles.css': /^app\/css\//
}
}
答案 2 :(得分:1)
我和肯有同样的问题。解决这个问题的方法就是从config.coffee
文件中删除有问题的行,只需从头开始重新输入。这样可以确保不存在任何隐藏字符并使脚本再次运行。