aug*_*aug 5 routes node.js express
根据Express 文档,app.use
和 Router 都实现了路由器接口,并且都可以作为中间件。
所以基本上你可以通过做来定义路线
app.use(function (req, res, next) {
next();
})
Run Code Online (Sandbox Code Playgroud)
或者你也可以做
var router = express.Router();
router.get('/', function (req, res, next) {
next();
})
app.use(router);
Run Code Online (Sandbox Code Playgroud)
我只是想知道我是否有理由在应用程序上使用路由器?我唯一能找到的使用一个或另一个是我需要与我的params
. 只是好奇。
使用路由可以帮助在 Express/Node 中组织代码。
当我有一个 JSON 格式的特定 post 请求时,这就是我使用它的方式,但并非所有传入的请求都是 JSON,因此我必须仅在这种情况下解析 JSON 并随后响应:
单独使用应用程序:
app.use("/search", bodyParser.json());
app.post("/search", function(request, response) {
params= request.body;
getSearchResults(params.words, params.numbers, response);
});
Run Code Online (Sandbox Code Playgroud)
将应用程序与特定路由器一起使用:
var jsonPostRouter= express.Router();
jsonPostRouter.use(bodyParser.json())
jsonPostRouter.use( function(request, response) {
var params= request.body;
getSearchResults(params.words, params.numbers, response);
});
app.use("/search", jsonPostRouter);
Run Code Online (Sandbox Code Playgroud)
然后,我可以将路由器代码放在一个单独的模块中,并将其放在app.use("/search", jsonPostRouter);
我的主服务器代码中,这有助于保持我的代码组织有序且更易于遵循。
归档时间: |
|
查看次数: |
2818 次 |
最近记录: |