Tengo problemas para hacer que mi clase trabaje en mi archivo node.js. Cuando requiero el módulo que escribí, require './module' llama a mi constructor y me da un error. Pero en realidad quiero crear una instancia más adelante en el archivo.confusión de Coffeescript y node.js. requiere instancias de clase?
es decir
class Mic
constructor: (x) ->
@t = []
@t.push x
exports.Mic = Mic
y aquí está mi archivo app.coffee
require 'coffee-script'
require './Mic'
Cuando corro app.coffee se da una excepción ReferenceError: x no está definido. Lo cual tiene sentido ya que llama al constructor, pero ¿por qué está llamando al constructor aunque no haya llamado al nuevo micrófono?
Editar Después de fijar la sangría
class Mic
constructor: (x) ->
@t = []
@t.push x
exports.Mic = Mic
y actualizar mi app.coffee a
Mic = require './Mic'
m = new Mic 3
console.log m
consigo el error
TypeError: object is not a function
at Object.CALL_NON_FUNCTION_AS_CONSTRUCTOR (native)
Hey, perdón me olvidaba cambiar Dish w ith Mic. Fue un problema de copiar y pegar. He sangrado mi código y ahora obtengo un TypeError: objeto no es una función en Object.CALL_NON_FUNCTION_AS_CONSTRUCTOR. El código no crea una instancia automática hasta que llamo mic = nuevo Mic 3 cuando luego se da el error anterior. –
Respuesta actualizada en consecuencia. – Ashe
Ah, ahí vamos. Gracias ese fue el truco! –