dan*_*eth 19 middleware node.js express
我是整个Node.js的新手,所以我仍然试图了解事物如何"连接".
我正在尝试使用快速表单验证.根据您可以做的文档
app.post( '/user', // Route
form( // Form filter and validation middleware
filter("username").trim()
),
// Express request-handler gets filtered and validated data
function(req, res){
if (!req.form.isValid) {
// Handle errors
console.log(req.form.errors);
} else {
// Or, use filtered form data from the form object:
console.log("Username:", req.form.username);
}
}
);
Run Code Online (Sandbox Code Playgroud)
在App.js. 但是,如果我把类似的东西app.get('/user', user.index);放在一个单独的文件中.我想对验证中间件(或将验证代码放在控制器中)做同样的事情,以便在我开始添加更多页面后更容易概述App.js文件.
有没有办法实现这个目标?
基本上我想把类似的东西 app.get('/user', validation.user, user.index);
Jea*_*erc 49
这是您定义路线的方式:
routes.js:
module.exports = function(app){
app.get("route1", function(req,res){...})
app.get("route2", function(req,res){...})
}
Run Code Online (Sandbox Code Playgroud)
这是您定义中间件的方式:
middlewares.js:
module.exports = {
formHandler: function(req, res, next){...}
}
Run Code Online (Sandbox Code Playgroud)
app.js:
// Add your middlewares:
middlewares = require("middlewares");
app.use(middlewares.formHandler);
app.use(middlewares...);
// Initialize your routes:
require("routes")(app)
Run Code Online (Sandbox Code Playgroud)
另一种方法是每个路由使用您的中间件:
routes.js:
middlewares = require("middlewares")
module.exports = function(app){
app.get("route1", middlewares.formHandler, function(req,res){...})
app.get("route2", function(req,res){...})
}
Run Code Online (Sandbox Code Playgroud)
我希望我回答你的问题.
| 归档时间: |
|
| 查看次数: |
15471 次 |
| 最近记录: |