我想創建一個小應用程序來存儲代碼片段使用nodejs和mongodb 我正在使用Coffeescript來編寫應用程序。Nodejs + CoffeeScript + Mongoose:定義模塊?
的問題是,我想在模塊 的代碼分開,所以我創建這個文件夾結構
/app
/lib
/models
/routes
core.coffee
的core.coffe是使用expressjs 「服務器」應用程序,所以在這個文件中,我有
mongoose = module.exports.mongoose = require 'mongoose'
app = module.exports.app = express.createServer()
Snippet = module.exports.Snippet = require __dirname+'/lib/models/Snippet'
#App configurations
routes = require(__dirname+'/lib/routes/general')
在LIB /模型/片段
mongoose = module.parent.exports.mongoose
Snippet = new mongoose.Schema
title:
type: String
default:'Title'
mongoose.model 'Snippet',Snippet
exports.Snippet = mongoose.model 'Snippet'
在/lib/routes/general.coffee
app = module.parent.exports.app
mongoose = module.parent.exports.mongoose
Snippet = module.parent.exports.Snippet
app.get '/test', (req,res)->
snip = new Snippet()
res.send snip
但這不工作我得到以下錯誤消息
TypeError: object is not a function
at Object.CALL_NON_FUNCTION_AS_CONSTRUCTOR (native)
我怎樣才能做到呢?
你在哪裏得到'TypeError'?在'snip = new Snippet()'? –
是的!正是這條線。 – matiasfh
您是否檢查過'require __dirname +'/ lib/models/Snippet'正在'core.coffee'中返回一個函數? –