早午餐如何禁用RequireJS模块包装

Kyl*_*ley 11 javascript coffeescript brunch angularjs

更新: 对于任何有兴趣使用早午餐AngularJS的人,我已经组建了一个种子项目角 - 早午餐种子

我正在使用BrunchAngularJS.AngularJS提供了一个模块系统,因此使用commonJS/AMD导入文件的需求是多余的.是否可以为目录中的文件禁用此功能/app?从本质上讲,我希望它能像/vendor目录一样不加改变地编译文件.

所以首选的是:

  joinTo:
    'js/app.js': /^app/
    'js/vendor.js': /^vendor/
Run Code Online (Sandbox Code Playgroud)

使用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/
Run Code Online (Sandbox Code Playgroud)

默认情况下,"原始"包装器不包含coffeescript的标准包装器.通过将jsWrapper设置为:

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

文件将按预期包装.

tha*_*smo 13

现在,就我所见,这已改为模块配置:https: //github.com/brunch/brunch/blob/stable/docs/config.md#modules

exports.config =
  paths:
    ...
  files:
    ...
  modules:
    wrapper: false
    definition: false
Run Code Online (Sandbox Code Playgroud)


jcr*_*ruz 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/
Run Code Online (Sandbox Code Playgroud)

'早午餐b'和包装代码应该消失