Node.js中的url.parse()

Node.js中url模块用于处理与解析 URL,官方链接

以下是url的url.parse()

>node
> url
{ Url: [Function: Url],
  parse: [Function: urlParse],
  resolve: [Function: urlResolve],
  resolveObject: [Function: urlResolveObject],
  format: [Function: urlFormat],
  URL: [Function: URL],
  URLSearchParams: [Function: URLSearchParams], 
  domainToASCII: [Function: domainToASCII],
  domainToUnicode: [Function: domainToUnicode],
  pathToFileURL: [Function: pathToFileURL],
  fileURLToPath: [Function: fileURLToPath] }
  
>url.parse('http://127.0.0.1:3000/postMeth?username=tom&content=abc')
Url {
  protocol: 'http:',    //获取及设置 URL 的协议部分
  slashes: true,
  auth: null,
  host: '127.0.0.1:3000',  //获取及设置 URL 的主机部分。
  port: '3000',  //获取及设置 URL 的端口部分
  hostname: '127.0.0.1',  //获取及设置 URL 的主机名部分。 url.host 和 url.hostname 之间的区别是 url.hostname 不包含端口
  hash: null,   //获取及设置 URL 的片段部分
  search: '?username=tom&content=abc',  //得到?及之后的参数
  query: 'username=tom&content=abc',  //得到参数不包含?
  pathname: '/postMeth',			//得到当前的路径但是不包含?及之后的参数
  path: '/postMeth?username=tom&content=abc',
  href: 'http://127.0.0.1:3000/postMeth?username=tom&content=abc' }//获取及设置序列化的 URL

> url.parse('http://127.0.0.1:3000/postMeth?username=tom&content=abc').query
'username=tom&content=abc'

//parse的第二个参数为true时获取到的参数会被转为对象
> url.parse('http://127.0.0.1:3000/postMeth?username=tom&content=abc',true).query
[Object: null prototype] { username: 'tom', content: 'abc' }

在node js中同样存可以通过require来得到url对象

var URL=require('url');

var url=request.url;
var pathname=URL.parse(url).pathname;//得到url中不带?之后的一个路径
obj=URL.parse(url,true).query; // URL.parse(url,true)得到url的参数,true得到的参数为对象

你可能感兴趣的:(Node.js中的url.parse())