eer*_*eam 6 javascript node.js express
如果我在与 index.js 相同的文件夹中有 schema.js 做类似的事情
var schemas = require('./schema');
工作正常,但如果我将 schema.js 放在另一个文件夹中并写入
var schemas = require('./folder/schema');
我收到一个错误是Cannot find module怎么回事?
Edit1 :我通过使用 ..folder/schema 而不是 single 摆脱了错误。并且服务器运行但它仍然无法正常工作,因为我无法使用 index.js 文件中通过 module.export 从 ../model/schema 返回的 mongoosedb 对象。它说 myModel.find 不是一个函数。这是怎么回事??
控制器/findallusers.js
var myModel = require('../models/schema');
var alluser;
myModel.find({}, function(err, foundData){
if(err){
console.log(err);
res.status(500).send();
}
else{
alluser = foundData;
}
console.log(alluser); <-- this log is defined
});
console.log(alluser); <-- this log is undefined
module.exports = alluser; <-- cant export anything
Run Code Online (Sandbox Code Playgroud)
小智 4
正确解析 schema.js 的路径
假设你的项目结构是这样的
Project
|
+-- routers
| |
| +-- index.js
+-- models
| |
| +-- schema.js
//in index.js
var schemas = require('../models/schema');
Run Code Online (Sandbox Code Playgroud)
要解决第二个错误,即 myModel.find 不是函数,请使用 module.exports 而不是使用 module.export
module.exports = myModel;
Run Code Online (Sandbox Code Playgroud)
解决第三个问题
// controllers/findallusers.js --> (keep name simple i.e userController.js)
var myModel = require('../models/schema');
module.exports = {
/**
* Get All Users
*/
list: function(req, res) {
myModel.find({},function(err, users){
if(err) {
return res.status(500).json({message: 'Error getting Users.'});
}
return res.json(users);
});
},
/**
* Keep Adding more functions as you want
*/
create: function(req,res){
//functionality to create user
},
delete: function(req,res){
// functionality to delete user
},
someDummyName: function(callback) {
myModel.find({},function(err, users){
if(err) {
return callback(err)
}
return callback(null,users);
});
}
}
Run Code Online (Sandbox Code Playgroud)
//问题的解决方案/sf/ask/2765295361/
//index.js call this new method i.e someDummyName as
router.get('/allusers', function(req, res){
userController.someDummyName(function(err,result){
if(err) {
//return err
}
//process result as per your need
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15086 次 |
| 最近记录: |