3

CoffeeScript アプリケーションで JavaScript ライブラリを使用する必要があります。私は両方の言語に慣れていないので、簡単なことを試してみました。私のcoffeescriptファイル:

empty = require('models/empty')

    class Contact extends Spine.Model
      @configure 'Contact', 'name', 'email'

      @extend Spine.Model.Local

      create: -> 
        empty.one()
        super

    module.exports = Contact

そして、 empty.js という名前の私の Javascript ファイル:

console.log('what')

function one () {
    console.log('one')
};

empty.one() を動作させることはできませんが、coffeescript ファイルは正常に動作します。「what」がコンソールに出力されます。これは、JS ファイルがロードされたことを意味します。one() が呼び出されると、次のエラーが発生しますが:

キャッチされていない TypeError: オブジェクト # にはメソッド 'one' がありません

関数を変数として定義し、チュートリアルで見つけたさまざまな構文を使用して、さまざまな方法を試しましたが、どれもうまくいかないようです。誰かが私が犯している間違いを指摘できますか?

4

1 に答える 1

6

次のように関数をエクスポートする必要があります。

function one () {
    console.log('one')
};
exports.one = one;

その後、それを必要とする他のモジュールからアクセスできるようになります。

(node.jsまたはその他のcommonjsのようなプラットフォームを使用していると仮定します)

于 2013-06-23T20:02:45.587 に答える