嗨,我是表达新手。我有一个管理员路线,我希望管理员更新记录等。我不想写代码到路由下的更新记录而不是我只是传递一些从db获取记录或更新它们的函数或对象。我使用passportjs进行身份验证。目前我的路线看起来像这样 -
app.get('/admin', function(req, res){
res.render('admin', {
title: "Welcome Member_name ",
user: req.user
});
});
所以我为所有管理操作创建了另一个js文件。它在root / controller / admin.js之下,看起来像这样 -
var mysql = require('mysql'),
dbconfig = require('../config/database'),
connection = mysql.createConnection(dbconfig.connection);
module.exports = {
}
我所追求的是编写一些函数,它将从数据库中获取一些数据并返回对象,以便我可以将对象传递给我的路径并从那里传递给视图。任何人都可以帮助我PLZ?谢谢。另外,如果你知道学习expressjs的最佳实践,请告诉我。非常感谢提前。干杯。
答案 0 :(得分:1)
我会尝试为你回答这个问题,尽管你的问题有点混乱。如果我是对的,你想从你的路线中调用模块中的方法吗?
我们假设您的模块文件名为admin.js
,用于以下示例。这是您创建在模块外部可访问的方法的方法。
admin.js
var mysql = require('mysql'),
dbconfig = require('../config/database'),
connection = mysql.createConnection(dbconfig.connection);
module.exports = {};
module.exports.retrieveData = function() {
//Data retrieval code here.
};
然后在您的路线文件中,我们为示例说routes.js
。这就是你调用方法的方法。
routes.js
var admin = require('./admin.js') //Remembering to require the module!
database.retrieveData();
然后,您将通过retrieveData()
方法中的参数传递查询。