隨着CoffeeScript
我可以延長節點的http.Server
類:ExpressJS和CoffeeScript的類繼承
{Server} = require 'http'
class MyServer extends Server
foo: 'bar'
myserver = new MyServer
console.log myserver.foo # 'bar'
class MyServer2 extends MyServer
constructor: -> super()
myserver2 = new MyServer2
myserver.listen 3000
如果我理解正確的this post,express
延伸connect
這又延伸http.Server
。但下面有一些繼承問題:
Express = require 'express'
class MyApp extends Express
foo: 'bar'
myapp = new MyApp
console.log myapp.foo # undefined
class MyApp2 extends MyApp
constructor: -> super()
myapp2 = new MyApp2
console.log myapp2 # {}
myapp2.listen 3000 # throws TypeError
當listen
被稱爲因爲myapp2
是一個空對象{}
並沒有listen
方法它引發以下錯誤:
TypeError: Object #<MyApp2> has no method 'listen'
哪有我以面向對象的方式使用express
與CoffeeScript
?
謝謝!但是我發現了更多的問題,我已經更新了他們的問題:) – 2013-03-15 18:27:55