У меня возникли проблемы с попыткой заставить мой класс работать в моем файле 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 исключения: й не определен. Что имеет смысл с момента вызова конструктора, но почему он вызывает конструктор, хотя я не называл новый Mic?
Редактировать После установки отступов
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)
Эй, ой, я забыл заменить блюдо ш с микрофоном. Это была проблема с копией и вставкой. Я отступил от своего кода, и теперь я получаю объект TypeError: объект не является функцией объекта Object.CALL_NON_FUNCTION_AS_CONSTRUCTOR. Код не создается автоматически до тех пор, пока я не назову mic = new Mic 3, а затем выдаст предыдущую ошибку. –
Соответственно отредактирован ответ. – Ashe
А вот идем. Спасибо, это помогло! –