Javascript 早午餐如何禁用RequireJS模块包装
更新: 对于任何有兴趣使用的人,我已经制定了一个种子项目 我在用。提供模块系统,因此使用commonJS/AMD导入文件是多余的。是否可以对Javascript 早午餐如何禁用RequireJS模块包装,javascript,coffeescript,angularjs,brunch,Javascript,Coffeescript,Angularjs,Brunch,更新: 对于任何有兴趣使用的人,我已经制定了一个种子项目 我在用。提供模块系统,因此使用commonJS/AMD导入文件是多余的。是否可以对/app目录中的文件禁用此功能?基本上,我希望它像编译/vendor目录一样编译文件 因此,首选结果是: joinTo: 'js/app.js': /^app/ 'js/vendor.js': /^vendor/ js/app.js和js/vender.js都包含各自文件夹中的编译文件,但都没有包装 有人有什么想法吗 更新 语法已从@j
/app
目录中的文件禁用此功能?基本上,我希望它像编译/vendor
目录一样编译文件
因此,首选结果是:
joinTo:
'js/app.js': /^app/
'js/vendor.js': /^vendor/
js/app.js
和js/vender.js
都包含各自文件夹中的编译文件,但都没有包装
有人有什么想法吗
更新
语法已从@jcruz应答时更改。这是现在做这件事的方法
最后,我使用了@jcruz-answer的修改版本
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/
默认情况下,“原始”包装不包括coffeescript的标准包装。通过将jsWrapper设置为:
wrapper: (path, data) ->
"""
(function() {
'use strict';
#{data}
}).call(this);
"""
文件将按预期进行包装。最近刚刚添加了禁用模块包装的功能 我不相信npm上有这些功能的版本,但你可以从github repo重新安装早午餐 一旦你做了早午餐,在config.coffee中将jsWrapper设置为“raw” 像这样的
exports.config =
jsWrapper: 'raw'
files:
javascripts:
defaultExtension: 'js'
joinTo:
'javascripts/app.js': /^app/
'javascripts/vendor.js': /^vendor/
“早午餐b”和包装代码应该消失据我所见,现在已更改为模块配置: 自2017年1月(几乎)起,必须将npm enabled与模块设置一起声明为false。不过,我花了一段时间才发现。(这是通过a找到的)。希望这有帮助。干杯 以下是一个工作配置文件:
// 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
}
}
我最终传递了一个函数,将文件包装在标准的coffeescript包装器中,但除此之外,它工作得非常好。非常感谢。嘿,谢谢你用新语法更新这个问题。我刚刚更新了早午餐,旧的“jsWrapper”语法不起作用。
// 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
}
}