Cor*_*ped 6 javascript node.js query-string express
我知道Express会检查查询字符串(例如?a = 1&b = 2)并在默认情况下解析它.而req.query是包含键/值对的对象.有没有办法禁用此行为并完全忽略qs?
我需要这个,因为我解析查询字符串客户端,因为我收到大量的请求和qs很长我不想在每次解析查询字符串时浪费服务器资源(这意味着Express需要解码字符串中的URI组件,拆分字符串,为每个键值对执行for循环,为每对键做另一个拆分,创建一个非常昂贵的新对象等.这可能吗?
您可以配置查询解析器(查看文档):
app.disable('query parser')
Run Code Online (Sandbox Code Playgroud)
将它放在 express 初始化之后和路由器之前。
您还可以将一个空函数传递给查询解析器,以防将来需要进行某种微调:
app.set('query parser', function(qs, options) {
// qs is a query string, process it here
});
Run Code Online (Sandbox Code Playgroud)