我对 node.js 很陌生,对 Javascript 也很陌生(我不计算使用 jQuery 作为 js 的简单动画)。作为一名网络开发人员,我正在从 PHP/MySQL 迁移到 Express/mongo。
我喜欢整洁的想法——只要性能没有明显的损失。由于 node 发展如此迅速,我发现很难找到针对当前版本 node 的路由方法的具体意见和答案(我发现的大多数帖子似乎无关紧要并且超过 2 年)。
|- app.js
|- routes
|- blog.js
我使用 blog.js 作为所有博客相关内容的网关。这包括使用函数注册 GET 和 POST 请求,以及处理页面呈现。
这一切都被一个电话点燃了。
我的 app.js 有以下内容:
... //basic express installation
var db = ... //mongoose database connection
require('./routes/blog')(app, db, '/blog'); //starts the blog up
blog.js 看起来像这样:
var db = null;
var basedir = null;
module.exports = function(app, _db, _basedir){
db = _db;
basedir = _basedir;
app.get (basedir, pages.home );
app.get (basedir + '/show/:id', pages.getBlog );
/*app.get(basedir + '/*', function(req, res) {
res.redirect(basedir);
});*/
};
var pages = {
home : function(req, res) {
// whatever
}
, getBlog : function(req, res) {
// whatever
}
}
我知道这行得通——我的问题是,这是否是传统的?这是不推荐的东西吗?是不是很浪费内存?为什么人们将 app.gets 放在 app.js 中而不是外部文件中?当前主要使用的路由方法是什么(我在同一台服务器上开发了多个小型应用程序,因此我希望我的 app.js 尽可能少)。