我有2个简单的咖啡脚本和资产管道。我获得了:
(function() {
window.App.Test_widget = {...}
}).call(this);
(function() {
$.widget("ui.Test_widget", window.App.Test_widget);
$(document).ready(function() {...});
}).call(this);
但我想要1)合并闭包2)添加闭包参数
(function($) {
var App;
App.Test_widget = {...}
$.widget("ui.Test_widget", App.Test_widget);
$(document).ready(function() {...});
})(jQuery);
我不能谷歌一种实现这个的方式
UPD: 1)我不想将每个文件放在不同的闭包中。我想控制这个 2)如果可能的话,我不想把任何东西放在窗口中
ANSWER简单地说:“使用裸选项。对于链轮看commit”
答案 0 :(得分:2)
如果您希望对输出进行细粒度控制,则必须自己编写JavaScript,而不是让CoffeeScript为您执行此操作。我说作为CoffeeScript的拥护者:如果你使用它,你必须接受与它一起使用的某些约定,例如为每个文件提供自己的范围的包装器。如果你想要跨文件共享变量,你就失去了连接文件的自由。
然而,值得一提的是
$ = jQuery
在语义上等同于有一个名为$
的参数,并传入jQuery
作为该参数的值。因此,您只需将$ = jQuery
放在每个CoffeeScript文件的顶部,以便在noConflict
模式下使用jQuery。答案 1 :(得分:-1)
我认为你所描述的是延迟...你想在两次关闭完成后做些什么?如果是,那么请查看jQuery 1.5 deferred基础架构。