私のクラスがnode.jsファイルで動作するのに問題があります。私が書いたモジュールを必要とするとき、require './module'は私のコンストラクタを呼び出してエラーを出します。しかし、私は実際にファイルで後でインスタンス化したい。Coffeescriptとnode.jsの混乱。インスタンス化クラスが必要ですか?
すなわち
class Mic
constructor: (x) ->
@t = []
@t.push x
exports.Mic = Mic
とここに私のapp.coffeeファイルがある
require 'coffee-script'
require './Mic'
私はapp.coffee実行すると、それは例外のReferenceErrorを与える:xが定義されていません。コンストラクタを呼び出した後には意味がありますが、新しいマイクと呼ばれることはありませんが、コンストラクタを呼び出すのはなぜですか?
編集
Mic = require './Mic'
m = new Mic 3
console.log m
に私のapp.coffeeをインデント
class Mic
constructor: (x) ->
@t = []
@t.push x
exports.Mic = Mic
を固定し、更新した後で、私は
TypeError: object is not a function
at Object.CALL_NON_FUNCTION_AS_CONSTRUCTOR (native)
ねえ、おっと私は料理wを交換するために忘れてしまいましたマイクそれはコピー&ペーストの問題でした。私はコードをインデントして、今はTypeErrorを取得しています。オブジェクトはObject.CALL_NON_FUNCTION_AS_CONSTRUCTORの関数ではありません。マイク=新しいマイク3を呼び出すまで、コードは自動的にインスタンス化されません。 –
それに応じて回答が更新されました。 – Ashe
ああそこに行きます。トリックをしてくれてありがとう! –