これについてはいろいろ調べてみましたが、情報が見つかりません。sinatra 内でアプリケーションを構築し、coffeescript テンプレート エンジンを使用しています。デフォルトでは、コンパイルされたコードは次のようにラップされます。
(function() {
// code
}).call(this);
--bare フラグを使用してそれを削除したいので、別のファイルが私が定義しているクラスなどにアクセスできるようにします。変数の衝突などを防ぐのに役立つことはわかっていますが、ここでは 2 つの主要な部分に取り組んでいます。1 つはビジネス ロジック、およびクラス構造内のデータの配置です。もう1つは、raphaeljsを使用したビュー機能です。これら 2 つの部分を別々のファイルに保存することをお勧めします。このようにラップされた 2 つのファイルはデータにアクセスできないため、明らかに機能しません。ただし、 --bare オプションを使用するよりも優れた解決策を思いつくことができれば、私はすべて耳にします。