应用变量由
定义const app = express();
此代码可以正常工作:
app.get('/posts/:id', (req, res) => {
res.json( post_creator.CreatePost(req.params.id) );
});
但是下面的代码不起作用:
const post_url_with_id = '/posts/:id';
app.get(post_url_with_id, (req, res) => {
res.json( post_creator.CreatePost(req.params.id) );
});
如何创建带有参数的函数,可以传递express.get或post方法?
我想像下一个功能一样实现
function serve_post( post_url_with_id ) {
app.get(post_url_with_id, (req, res) => {
res.json( post_creator.CreatePost(req.params.id) );
});
}
感谢贡献者。
答案 0 :(得分:0)
这可以通过传递快速app
来实现,例如:
// someRoute.js
function serve_post(app, post_url_with_id ) {
app.get(post_url_with_id, (req, res) => {
res.json( post_creator.CreatePost(req.params.id) );
});
}
module.exports = serve_post;
在实例化express
的文件中(拥有app
的文件中)
const app = express();
// assuming they are in same folder
const someRoute = require('./someRoute');
someRoute(app, post_url_with_id);