每个node docs, request.path
should exist,但不在节点v10.13.0
上
const http = require('http')
require('../src/shared/globals.js')
const port = 4000
const host = '127.0.0.1'
const server = http.createServer(function(request, response) {
log(`>>>> url ${request.url}`)
log(`>>>> path ${request.path}`)
})
module.exports = async function() {
server.listen(port, host, function() {
console.log(`Web hook server listening at http://${host}:${port}`)
})
}
会返回:
>>>> url /
>>>> path undefined
为什么request.path未定义?
答案 0 :(得分:1)
它包含在文档中,但在“ ClientRequest”部分下。我的理解是,当您要调用服务器时使用它。由于回调中的“请求”不是ClientRequest,因此未定义。
您可以使用url模块来解析所获取的“ request.url”。这是一个示例https://www.codexpedia.com/node-js/node-js-http-request-url-param-path-and-body/
编辑:这是一些有用的链接。
Node.js url.parse()
链接:https://nodejs.org/api/url.html#url_url_parse_urlstring_parsequerystring_slashesdenotehost
Node.js客户端请求文档:https://nodejs.org/api/http.html#http_class_http_clientrequest
Node.js request.path
文档:https://nodejs.org/api/http.html#http_request_path