Brunch:如何将供应商代码包装在 AMD 模块中?
Brunch: how to wrap vendor code in AMD modules?
我希望所有供应商代码都包含在 AMD 模块中。
我已经在 config.coffee:
中定义了这个部分
modules:
wrapper: 'amd'
definition: 'amd'
但 brunch 似乎只对 'app' 文件夹文件使用 AMD 优化器。所有供应商 js 文件在没有任何 r.js 预处理的情况下连接(没有在 "define(...)" 语句中添加模块名称)。结果,Almond(几乎与 RequireJS 相同)在供应商文件执行期间抱怨匿名模块定义。
这是我的完整配置:
exports.config =
paths:
public: 'public'
files:
javascripts:
defaultExtension: 'js'
joinTo:
'js/app.js': /^app/
'js/vendor.js': /^vendor[\/](?!mocha|chai|sinon|sinon-chai)/
'js/tests.js': /^test/
'js/tests-vendor.js': /^vendor[\/](?=mocha|chai|sinon|sinon-chai)/
order:
before: [
'bower_components/almond/almond.js',
'bower_components/jquery/jquery.js',
'bower_components/lodash/dist/lodash.underscore.js'
]
stylesheets:
defaltExtension: 'less'
joinTo:
'css/styles.css': /^(vendor[\/](?!mocha|chai|sinon|sinon-chai)|app)/
'css/tests-vendor.css': /^(vendor[\/](?=mocha|chai|sinon|sinon-chai))/
templates:
defaultExtension: 'hbs'
joinTo: 'js/app.js'
modules:
wrapper: 'amd'
definition: 'amd'
您可以将配置中的 conventions.vendor
更改为与您的供应商文件不匹配的内容,以启用模块包装。
https://github.com/brunch/brunch/blob/master/docs/config.md#conventions
我希望所有供应商代码都包含在 AMD 模块中。 我已经在 config.coffee:
中定义了这个部分modules:
wrapper: 'amd'
definition: 'amd'
但 brunch 似乎只对 'app' 文件夹文件使用 AMD 优化器。所有供应商 js 文件在没有任何 r.js 预处理的情况下连接(没有在 "define(...)" 语句中添加模块名称)。结果,Almond(几乎与 RequireJS 相同)在供应商文件执行期间抱怨匿名模块定义。
这是我的完整配置:
exports.config =
paths:
public: 'public'
files:
javascripts:
defaultExtension: 'js'
joinTo:
'js/app.js': /^app/
'js/vendor.js': /^vendor[\/](?!mocha|chai|sinon|sinon-chai)/
'js/tests.js': /^test/
'js/tests-vendor.js': /^vendor[\/](?=mocha|chai|sinon|sinon-chai)/
order:
before: [
'bower_components/almond/almond.js',
'bower_components/jquery/jquery.js',
'bower_components/lodash/dist/lodash.underscore.js'
]
stylesheets:
defaltExtension: 'less'
joinTo:
'css/styles.css': /^(vendor[\/](?!mocha|chai|sinon|sinon-chai)|app)/
'css/tests-vendor.css': /^(vendor[\/](?=mocha|chai|sinon|sinon-chai))/
templates:
defaultExtension: 'hbs'
joinTo: 'js/app.js'
modules:
wrapper: 'amd'
definition: 'amd'
您可以将配置中的 conventions.vendor
更改为与您的供应商文件不匹配的内容,以启用模块包装。
https://github.com/brunch/brunch/blob/master/docs/config.md#conventions