残念ながら、今のところはありません。しかし、まさにこの種のユースケース(およびその他、特に非同期コールバックコードと一般的なコールバックヘルに関する)に対処する機能の提案は、CoffeeScriptの問題で活発に議論されています。提案された機能は「バックコール」と呼ばれ、基本的には、この種のコールバックネストされたコードをよりシーケンシャルに見せるための構文変換です。モジュール定義は次のようになります。
(dep1, dep2) <- define 'myModule', ['dep1', 'dep2']
funcA: ->
funcB: ->
# etc...
funcZ: ->
今すぐ動作させたい場合は、ビルド構成にプリプロセッサステップを追加define ...
して、CoffeeScriptコンパイラに入る前に行とインデントが追加されるようにすることができます。
.coffeeソースに関するいくつかの特別なコメントを使用してモジュールを宣言できます。
#!module=myModule
#!dependencies=dep1,dep2
funcA: ->
funcB: ->
# etc...
funcZ: ->
次に、これらのコメントを読み取って行を生成define 'myModule', ['dep1', 'dep2'], (dep1, dep2) ->
し、入力ファイルのすべての行に1レベルのインデントを追加するスクリプトを用意します。
したがって、ビルド手順は次のようになります。
cat myModule.coffee | add-amd | coffee -sc > myModule.js