Ce que vous voulez faire, c'est exporter fonctionnalité. Par exemple, si vous commencez par
class Foo
...
class Bar extends Foo
...
et vous décidez de déménager Foo
dans son propre fichier, ce fichier devrait ressembler à ceci
class Foo
...
window.Foo = Foo
(où window.Foo = Foo
fait Foo
un global), et Bar
Le fichier de l'utilisateur doit commencer par la directive Sprockets
#= require Foo
(en supposant que vous avez nommé Foo
Le dossier de l'entreprise Foo.js.coffee
). Chaque fichier est compilé en JS indépendamment, mais Sprockets s'assure que Foo
est inclus avant Bar
.
Notez que, en guise de raccourci, vous pouvez vous débarrasser de l'option window.Foo = Foo
et écrivez plutôt
class window.Foo
...
ou simplement
class @Foo
...
pour définir une classe nommée Foo
qui est attaché à la window
objet.