2016-09-06 3 views
0

Diese article erklärt, wie das "Module Pattern" in CoffeeScript implementiert wird.Gemeinsame Klassen in CoffeeScript?

Wie kann ich ein CoffeeScript class zwischen Javascript-Dateien teilen?

Zum Beispiel:

class A 
    constructor: (@x) -> 

Wie kann ich A zwischen zwei Coffeescript-Dateien teilen?

+0

Wie transpilierst du dein coffeescript? Webpack/Requirejs/Knoten? –

Antwort

0

Verwendung:

window.A = class A 
    constructor: (@x) -> 

oder:

class window.A 
    constructor: (@x) -> 

Beide, die kompiliert werden:

(function() { 
    var A; 

    window.A = A = (function() { 
    function A(x) { 
     this.x = x; 
    } 

    return A; 

    })(); 

}).call(this); 

Sie auch @A statt, wenn window.A in beiden Orten verwenden können, wenn Sie es vorziehen, , da this sich auf window outs bezieht Ide irgendeine Funktion.

0

Lesen Sie über UMD. Sie können UMD-Header auf diese Weise implementieren:

((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 und backbone-forms sind ein Beispiel Abhängigkeiten.