11

更新: 对于任何有兴趣将早午餐AngularJS一起使用的人,我已经整理了一个种子项目angular-brunch-seed

我正在使用带有AngularJS的早午餐AngularJS提供了一个模块系统,因此使用 commonJS / AMD 导入文件的需要是多余的。是否可以对目录中的文件禁用此功能?本质上,我希望它像对目录一样编译未更改的文件。/app/vendor

所以首选的结果是:

  joinTo:
    'js/app.js': /^app/
    'js/vendor.js': /^vendor/

两者都包含js/app.jsjs/vender.js包含来自每个文件夹的编译文件,但都没有包装。

有没有人有任何想法?

更新 语法从@jcruz回答时发生了变化。这是现在执行此操作的方法。

最后,我使用了@jcruz 答案的修改版本。

exports.config =
  modules:
    definition: false
    wrapper: (path, data) ->
      """
(function() {
  'use strict';
  #{data}
}).call(this);\n\n
      """
  files:
    javascripts:
      defaultExtension: 'coffee'
      joinTo:
        'js/app.js': /^app/
        'js/vendor.js': /^vendor/

默认情况下,“原始”包装器不包括咖啡脚本的标准包装器。通过将 jsWrapper 设置为:

wrapper: (path, data) ->
  """
(function() {
  'use strict';
  #{data}
}).call(this);
  """

文件将按预期包装。

4

3 回答 3

13

这已更改为模块配置,据我所知: https ://github.com/brunch/brunch/blob/stable/docs/config.md#modules

exports.config =
  paths:
    ...
  files:
    ...
  modules:
    wrapper: false
    definition: false
于 2013-10-16T07:53:44.383 回答
5

最近刚刚在https://github.com/brunch/brunch/commit/ec158cffd1b66d5db2093cf766000673aa0dd3a5中添加了禁用模块包装的功能

我不相信带有这些功能的版本在 npm 上,但你可以从 github repo 重新安装早午餐

完成早午餐后,在 config.coffee 中将 jsWrapper 设置为“raw”

像这样的东西...

exports.config =
  jsWrapper: 'raw'
  files:
    javascripts:
      defaultExtension: 'js'
      joinTo:
        'javascripts/app.js': /^app/
        'javascripts/vendor.js': /^vendor/

'brunch b' 和包装代码应该消失

于 2012-07-06T16:57:46.270 回答
4

从(几乎)2017 年 1 月开始,必须将 npm 启用声明为 false 以及模块设置。不过,我花了一段时间才发现。(通过GitHub 问题找到了这个)。希望这可以帮助。干杯。

这是一个工作配置文件:

// See http://brunch.io for documentation.
module.exports = {
    files: {
      javascripts: {
        joinTo: {
          '/js/app.js': /^app/,
          '/js/vendor.js': /^(?!app)/
        }
      },
      stylesheets: {
        joinTo: 'css/app.css'
      }
    },

    paths: {
      public: '/priv/static'
    },

    npm: {
      enabled: false
    },

    modules: {
      wrapper: false,
      definition: false
    }
}
于 2016-12-30T05:49:28.030 回答