3

サンプルがあります:

  • クラスB

  • ClassA は ClassB を拡張します

コマンド: coffee -w -j main.js -c -l -o lib src

エラー: Uncaught TypeError: 未定義のプロパティ 'prototype' を読み取れません

理由: ClassA はコンパイル済みファイルで B の前にコンパイルされるため、ClassA を作成して拡張しようとすると、classB はまだ存在しません。

愚かな修正:ClassAの名前をClassCに変更するため、コンパイルされたファイルでClassBの後にコンパイルされます

誰かがより良い修正を得る?

ありがとう !

4

1 に答える 1

0

coffeescript documentationで述べられているように:

-j, --join [ファイル]
コンパイルする前に、すべてのスクリプトを渡された順に連結し、指定されたファイルに書き込みます。大規模なプロジェクトの構築に役立ちます。

これは、スクリプトを正しい順序で渡す必要があることを意味します。classA がファイル classA.coffee にあり、classB がファイル classB.coffee にあると仮定すると、上記のコマンドは次のようになります。

coffee -w -j main.js -c -l -o lib src/classB.coffee src/classA.coffee
于 2013-01-08T15:57:19.253 に答える