我是Nodejs和JavaScript的新手。我已经开始了一个使用快递发电机的项目,并且已经安装了猫鼬皮卡。Nodejs变量声明
的路线/ index.js文件,我有这样的代码
var express = require('express');
var router = express.Router();
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/test');
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function (callback) {
var toSchema = mongoose.Schema({
name: String,
state : Boolean
});
var listing = mongoose.model('todoSchema', toSchema)
});
/* GET home page. */
router.get('/', function(req, res) {
var silence = new listing({ name: 'Silence', state:true })
console.log(silence.name) // 'Silence'
res.render('index', { title: silence.name });
});
module.exports = router;
但是当我启动服务器,我得到错误说
listing is not defined
ReferenceError: listing is not defined
at module.exports (D:\xampp\htdocs\nodeproject\myapp\routes\index.js:18:20)
at Layer.handle [as handle_request]
D:\xampp\htdocs\nodeproject\myapp\node_modules\express\lib\router\layer.js:82:5)
at next (D:\xampp\htdocs\nodeproject\myapp\node_modules\express\lib\router\route.js:100:13)
at Route.dispatch (D:\xampp\htdocs\nodeproject\myapp\node_modules\express\lib\router\route.js:81:3)
at Layer.handle [as handle_request] (D:\xampp\htdocs\nodeproject\myapp\node_modules\express\lib\router\layer.js:82:5)
at D:\xampp\htdocs\nodeproject\myapp\node_modules\express\lib\router\index.js:235:24
at Function.proto.process_params (D:\xampp\htdocs\nodeproject\myapp\node_modules\express\lib\router\index.js:313:12)
at D:\xampp\htdocs\nodeproject\myapp\node_modules\express\lib\router\index.js:229:12
at Function.match_layer (D:\xampp\htdocs\nodeproject\myapp\node_modules\express\lib\router\index.js:296:3)
at next (D:\xampp\htdocs\nodeproject\myapp\node_modules\express\lib\router\index.js:190:10)
你能告诉我什么我做错了,变量声明如何工作?
http://stackoverflow.com/questions/18259725/whats-the-proper-way-to-handle-mongoose-connections-with-express-js – BatScream