app 变量定义为
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) );
});
}
感谢贡献者。
最佳答案
这可以通过传递 Express 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);
关于javascript - 如何创建带参数的函数可以传递express.get()方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55576882/