[英]Exporting controller is not working in nodeJs
我正在创建一个简单的应用程序来显示数据库中的联系人/用户。 我已经根据网上的一些参考资料做了以下工作。 我收到错误消息“找不到模块。.path/ controller / ContactController”
app.js
var express = require('express'),
http = require('http'),
path = require('path'),
mongoose = require('mongoose');
var app = express();
mongoose.connect("mongodb://localhost/contact");
app.use(express.bodyParser());
app.use(express.bodyParser());
app.use(express.static(path.join(__dirname, 'public')));
app.set('views', __dirname + '/view');
app.set('view engine', 'jade');
var controllerPath = __dirname + '/controller';
require('./models/contact')(mongoose);
['Contact'].forEach(function(controller){
require(controllerPath + '/' + controller + 'Controller')(app, mongoose);
});
http.createServer(app).listen(3000, function() {
console.log('Listening on port 3000...')
})
控制器/contact.js
var Contact = require('../models/Contact');
var ContactController = function(app,mongoose){
var Contact = mongoose.model('Contact');
app.get('/contact', function(req, req){
Contact.find({},function(err, contactinfo){
res.render("contact",{contact: contactinfo });
});
})
}
module.exports = ContactController;
型号/contact.js
var mongoose = require('mongoose');
var ContactSchema = new mongoose.Schema({
cid: String,
name: String,
phon: Number,
contactwith: String
});
module.exports = mongoose.model('Contact', ContactSchema);
package.json
{
"name": "SimpleAuth",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "nodemon app.js"
},
"dependencies": {
"express": "3.0.0rc4",
"jade": "*",
"mongoose": "*",
"nodemon": "*"
}
}
您需要错误的路径。
require(controllerPath + '/' + controller + 'Controller')(app, mongoose);
此串联与此文件名不匹配:controller / contact.js
如下更改forEach循环
['contact'].forEach(function(controller){
require(controllerPath + '/' + controller)(app, mongoose);
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.