Ich habe ein wenig gesucht, aber ich kann keine Informationen finden. Ich baue eine Anwendung innerhalb von Sinatra und verwende die coffeescript Templating Engine. Standardmäßig wird der kompilierte Code als solche eingewickelt:Sinatra Kaffeescripto --bar?
(function() {
// code
}).call(this);
Ich mag würde entfernen, dass die --bare Flag verwendet, so verschiedene Dateien Klassen zugreifen können und so weiter, dass ich zu definieren. Ich erkenne, dass es mehr Widerstand gegen Variablenkonflikte usw. bietet, aber ich arbeite hier an zwei Hauptteilen. Einer ist die Geschäftslogik und die Anordnung von Daten in Klassenstrukturen. Die andere ist die Ansichtsfunktionalität, die raphaeljs verwendet. Ich würde es vorziehen, diese zwei Stücke in getrennten Akten zu behalten. Da die beiden Dateien, die als solche umschlossen sind, nicht auf die Daten zugreifen können, funktioniert sie offensichtlich nicht. Wenn Sie jedoch eine bessere Lösung als die Option --bare finden, bin ich ganz Ohr.
+1 zu diesem. Es gibt nichts Außergewöhnliches an dem in der Frage beschriebenen Szenario; Wenn Sie möchten, dass ein Objekt aus mehreren '.coffee'-Dateien sichtbar ist, fügen Sie es in einen globalen Namespace ein. –