尝试创建多个js文件时,顺序在早午餐中不起作用

时间:2014-07-21 07:29:24

标签: javascript jquery brunch

我有一个项目,我有很多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制作它们,我只需要将已经工作的项目与早午餐相结合)

1 个答案:

答案 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。