這個article解釋瞭如何在CoffeeScript中實現「模塊模式」。在CoffeeScript中共享類?
如何在JavaScript文件之間共享CoffeeScript class
?
例如:
class A
constructor: (@x) ->
我如何共享兩個CoffeeScript的文件之間A
?
這個article解釋瞭如何在CoffeeScript中實現「模塊模式」。在CoffeeScript中共享類?
如何在JavaScript文件之間共享CoffeeScript class
?
例如:
class A
constructor: (@x) ->
我如何共享兩個CoffeeScript的文件之間A
?
用途:
window.A = class A
constructor: (@x) ->
或:
class window.A
constructor: (@x) ->
兩者將編譯爲:
(function() {
var A;
window.A = A = (function() {
function A(x) {
this.x = x;
}
return A;
})();
}).call(this);
您還可以使用@A
,而是如果window.A
在這兩個地方,如果你喜歡,因爲this
指的是window
ide任何功能。
閱讀關於UMD。您可以通過這種方式實現UMD頭:
((root, factory) ->
### istanbul ignore next ###
switch
when typeof define is 'function' and define.amd
define ['underscore', 'backbone-forms'], factory
when typeof exports is 'object'
factory require('underscore'), require('backbone-forms')
else
factory root._, root.Backbone.Form
return
) @, (_, Form) ->
class A
constructor: (@x) ->
underscore
和backbone-forms
是一個例子依賴。
你是如何編譯/運行你的咖啡標記? Webpack/Requirejs/node? –