【发布时间】:2012-01-17 00:33:33
【问题描述】:
我正在尝试创建一个小应用程序来使用 nodejs 和 mongodb 存储代码的 sn-ps 我正在使用 Coffeescript 编写应用程序。
问题是,我想将模块中的代码分开 所以我创建了这个文件夹结构
/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/models/Snippet 中
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()? -
您是否检查过
require __dirname+'/lib/models/Snippet'正在返回core.coffee中的函数?
标签: node.js coffeescript mongoose