Я понимаю, как использовать Protoype в стандартном Javascript с Node.js и модулями, но я имею грубое время, приравнивая их к CoffeeScript.Node.js + CoffeeScript - модули/смешение классов
Скажем, у меня есть файл с именем mymodule.coffee
:
Module = {}
class MyModule
constructor: (parameter) ->
Module = this
Module.parameter = parameter
standardFunction = (parameter) ->
return parameter
callbackFunction = (parameter, callback) ->
callback parameter
exports.MyModule = MyModule
И у меня есть еще один файл с именем test.coffee
в том же каталоге, что я бегу через coffee test.coffee
, но получаю сообщение об ошибке TypeError: Object #<MyModule> has no method 'standardFunction'
при попытке получить доступ к классу MyModule
:
myModule = require 'mymodule'
myModule = new myModule.MyModule 'parameter'
console.log myModule.standardFunction 'parameter'
myModule.callbackFunction 'parameter', (response) ->
console.log 'Response: ' + response
Что я делаю неправильно?
Право. Кроме того, пока я знаю, вы даже можете пропустить параметр @parameter = в своем конструкторе, потому что все переданные там параметры будут автоматически назначены @ (это) ... см. Онлайн-парсер на http://coffeescript.org/ – drinchev
Вы можете добавить свойство права в конструкторе с помощью CoffeeScript: 'constructor: (@parameter) ->' –