node.jsファイルでクラスを機能させるのに問題があります。作成したモジュールが必要になると、require'./module'がコンストラクターを呼び出し、エラーを出します。しかし、実際にはファイルの後半でインスタンス化したいと思います。
すなわち
class Mic
constructor: (x) ->
@t = []
@t.push x
exports.Mic = Mic
これが私のapp.coffeeファイルです
require 'coffee-script'
require './Mic'
app.coffeeを実行すると、例外ReferenceErrorが発生します:xが定義されていません。コンストラクターを呼び出すので、これは理にかなっていますが、新しいマイクを呼び出していないのに、なぜコンストラクターを呼び出すのですか?
インデントを修正した後に編集する
class Mic
constructor: (x) ->
@t = []
@t.push x
exports.Mic = Mic
app.coffeeをに更新します
Mic = require './Mic'
m = new Mic 3
console.log m
エラーが発生します
TypeError: object is not a function
at Object.CALL_NON_FUNCTION_AS_CONSTRUCTOR (native)