【发布时间】:2015-02-27 01:12:05
【问题描述】:
我正在使用 Express 和 Node 构建一个 Web 应用程序,并尝试考虑我的路由,以便我在同一个文件中没有数百条路由。该站点在projects 目录中提供不同的文件,因此我在routes/ 中创建了一个名为projectRoutes.js 的文件来处理项目文件的路由:
var express = require('express');
module.exports = function() {
var functions = {}
functions.routeProject = function(req, res) {
res.render('pages/projects/' + req.params.string, function(err, html) {
if (err) {
res.send("Sorry! Page not found!");
} else {
res.send(html);
}
});
};
return functions;
}
然后,在我的routes.js 中,我有这个...
var projectRoutes = require("./projectRoutes");
router.get('/projects/:string', function(req, res) {
projectRoutes().routeProject(req, res);
});
有没有更好的方法在projectRoutes.js 中构建此功能?换句话说,我该如何配置projectRoutes.js,以便我可以在index.js中编写以下代码:
router.get('/projects/:string', projectRoutes.routeProject);
上面似乎是处理此类事情的正常方法,但目前上面的行在 Node 中抛出一个错误,指出函数未定义。
感谢您的帮助!
【问题讨论】: