我有一个项目,我有很多javascript文件,有些是全局的,可以在所有页面上工作,我有两组文件只适用于主页,其余文件适用于其他页面。这是我的配置文件,它可能非常错误,这是我第一次吃早午餐:
exports.config =
# See docs at http://brunch.readthedocs.org/en/latest/config.html.
# Application build path. Default is public
#buildPath: 'webapp'
paths:
public: 'webapp/assets'
compass: './config.rb'
watched: ['app', 'experiences', 'main', 'home', 'node_modules']
files:
javascripts:
defaultExtension: 'js'
joinTo:
'javascripts/app.js': /^main/
'javascripts/experiences.js': /^experiences/
'javascripts/home.js': /^home/
order:
before: [
'jquery.js',
'custom.modernizr.js',
'jquery.simplemodal.js',
'foundation.js',
'fastclick.js',
'retina.min.js'
]
stylesheets:
defaultExtension: 'styl'
joinTo:
'stylesheets/app.css': /^app\/styles\/app/
'stylesheets/ie.css': /^app\/styles\/ie/
templates:
defaultExtension: 'hbs'
joinTo: 'javascripts/templates.js'
minify: yes
modules:
wrapper: false
因此,在我的app文件夹中,显示在before数组中的所有文件,但订单根本不起作用,jquery不在其他文件之前,而且我得到js错误。我不确定早午餐是否以这种方式工作,但是我不能像我说的那样只在一个文件中包含所有脚本,因为主页脚本与其他脚本不兼容(我没有&#t; t制作它们,我只需要将已经工作的项目与早午餐相结合)
答案 0 :(得分:4)
您是否曾尝试明确前阵列中的file paths? E.g。
files:
javascripts:
defaultExtension: 'js'
joinTo:
'javascripts/app.js': /^main/
'javascripts/experiences.js': /^experiences/
'javascripts/home.js': /^home/
order:
before: [
'app/main/jquery.js',
'app/main/custom.modernizr.js',
'app/experiences/jquery.simplemodal.js',
'app/home/foundation.js',
'app/home/fastclick.js',
'app/home/retina.min.js'
]
也许这可能会为Brunch清理事情。或许也可以看看this trick。它将允许您更好地自定义您的结构,同时在配置文件中保持明确的Brunch。