Node.js Node/Express.js使用不同文件处理请求
//server.jsNode.js Node/Express.js使用不同文件处理请求,node.js,express,middleware,Node.js,Express,Middleware,//server.js app.use('/shelf', require('./books').middleware); app.use('/shelf', require('./handler')); app.use('/shelf', require('./books').middleware); //books.js var app = new express.Router(); app.post('/books' , function (req, res) { console.l
app.use('/shelf', require('./books').middleware);
app.use('/shelf', require('./handler'));
app.use('/shelf', require('./books').middleware);
//books.js
var app = new express.Router();
app.post('/books' , function (req, res) {
console.log('here');
});
module.exports = app;
这就是我到目前为止所做的;我的服务器在server.js下运行,当我发出“/shelf/books”请求时,它首先进入server.js,然后进入books.js文件并记录“here”。但是我想在另一个文件handler.js中添加一个请求handler,即我想在其中验证post参数是否是一个数字,如果是,则将其重定向到books.js。这怎么样
//handler.js
module.exports = function (req, res, next) {
req.check_result = /\d+/.test(req.body.yourfield);
};
//book.js
app.post('/books' , function (req, res) {
if(req.check_result) {
// your code
} else {
// your code
}
});
//server.js
app.use('/shelf', require('./handler'));
app.use('/shelf', require('./books').middleware);
app.js
handler.js
module.exports = function (req, res, next) {
req.check_result = /\d+/.test(req.body.yourfield);
};
books.js
我想在另一个文件中进行验证,然后继续路由。因此,在server.js之后,我希望能够签入handler.js,然后继续。服务器->处理程序->书籍我也希望能够发布/shelf并记录一些东西,例如,但现在它无法从app.use中发布/post shelfremove'/shelf',然后是app.post'/shelf'。。。;app.post'/shelf/:book'。。。;如何将其应用于函数,而不是handler.js中的router.get。我想在handler.js中有一个函数,并在验证后将参数传递给books,这样我就可以在那里发表文章了。
var express = require('express')
var app = new express.Router();
module.exports = function(req, res) {
console.log("\t in books module")
};