CoffeeScript -加载库与AMD或在窗口对象(经典方式)

CoffeeScript - load lib with AMD or in the window object (classic way)

本文关键字:对象 窗口 经典 方式 加载 AMD CoffeeScript      更新时间:2023-09-26
do ((context, lib)->
  console.log context
  console.log lib
)(this, (context, lib)->
  console.log context
  lib_ = context.lib
  lib.version = '0.1'
  return lib
)

我希望能够加载lib与amd或在window对象。我设法得到想要的结果,但有一个错误,因为最后一组括号()生成的JavaScript代码:

(function(context, lib) {
  console.log(context);
  return console.log(lib);
})(this, function(context, lib) {
  console.log(context);
  var lib_ = context.lib;
  lib.version = '0.1';
  return lib;
})(); // this last set of paranteses cause an error 

我试着用这种方式写CoffeeScript来生成JS:(没有成功)

(function(context, lib) {
  console.log(context);
  return console.log(lib);
}(this, function(context, lib) {
  console.log(context);
  var lib_ = context.lib;
  lib.version = '0.1';
  return lib;
}));

据我所知,可以在CoffeeScript中编写JS代码来绕过这个问题,但我希望这是最后一个选择。

如果从第一行删除do,则输出如下所示:

(function(context, lib) {
  console.log(context);
  return console.log(lib);
})(this, function(context, lib) {
  var lib_;
  console.log(context);
  lib_ = context.lib;
  lib.version = '0.1';
  return lib;
});

, c :

((context, lib)->
  console.log context
  console.log lib
)(this, (context, lib)->
  console.log context
  lib_ = context.lib
  lib.version = '0.1'
  return lib
)