開発ページの読み込みを高速化できるように、すべての coffeescript ファイルを Rails 3.1 アセット パイプライン Web サイトにマージしようとしています。28秒から6秒に縮まっています。しかし、以前は一意だったローカル関数名がすべて同じファイルに含まれるようになり、重複が発生しています。同じ関数名を維持したいのですが、ある種の名前空間内にあります。
サンプル ファイルをいくつか示します。
ファイル a.js.coffee
root = exports ? this
$(document).ready ->
sayHi()
root.sayHi = ->
greeting()
greeting = ->
alert("Howdy")
ファイル b.js.coffee
root = exports ? this
$(document).ready ->
sayHello()
root.sayHello = ->
greeting()
greeting = ->
alert("Hi there")
これら 2 つのファイルの内容を結合し、2 つの別個のgreeting
機能を保持するにはどうすればよいですか?
新しいファイル ab.js.coffee
#------------------
# from a.js.coffee
#------------------
root = exports ? this
$(document).ready ->
sayHi()
root.sayHi = ->
greeting()
greeting = ->
alert("Howdy")
#------------------
# from b.js.coffee
#------------------
root = exports ? this
$(document).ready ->
sayHello()
root.sayHello = ->
greeting()
greeting = ->
alert("Hi there")