Как правильно организовать дочерние классы в разных файлах с CoffeeScript?Вот простой пример проблем с кодом.Snake работает нормально, но затем, пытаясь использовать класс Dog (потому что он находится в другом классе), выдает следующую ошибку:
TypeError: Dog не является конструктором
Основной файл: .test / Animals.coffee
#expect = require "expect.js"
Animal = require "../learning/Animals"
Snake = Animal.Snake
Dog = require "../learning/Dog"
#Dog = Animal.Dog #unresolved variable
describe 'animals', ->
it 'test inheritance', ->
sam = new Snake "Sammy the Python"
peanut = new Dog "Peanut the Dog"
sam.move()
peanut.move()
Родительский класс: .learning / Animals.coffee
class Animal
constructor: (@name) ->
move: (meters) ->
console.log(@name + " moved #{meters}m.")
class Snake extends Animal
move: ->
console.log( "Slithering...")
super 5
module.exports = { Animal, Snake }
Детский класс: .learning / Dog.coffee
Animal = require './Animals'
class Dog extends Animal
move: ->
console.log( "Runs...")
super 15
module.exports = { Dog }