node(二)--内置模块

node中url的使用

一. parse方法来将一个URL字符串转换为URL对象:

url.parse('http://user:pass@host.com:8080/p/a/t/h?query=string#hash');
/* =>
{ protocol: 'http:',
  auth: 'user:pass',
  host: 'host.com:8080',
  port: '8080',
  hostname: 'host.com',
  hash: '#hash',
  search: '?query=string',
  query: 'query=string',
  pathname: '/p/a/t/h',
  path: '/p/a/t/h?query=string',
  href: 'http://user:pass@host.com:8080/p/a/t/h?query=string#hash' }
*/
  • .parse方法还支持第二个和第三个布尔类型可选参数。
    • 第二个参数等于true时,该方法返回的URL对象中,query字段不再是一个字符串,而是一个经过querystring模块转换后的参数对象。
    • 第三个参数等于true时,该方法可以正确解析不带协议头的URL,例如//www.example.com/foo/bar

二. format方法允许将一个URL对象转换为URL字符串

url.format({
    protocol: 'http:',
    host: 'www.example.com',
    pathname: '/p/a/t/h',
    search: 'query=string'
});
/* =>
'http://www.example.com/p/a/t/h?query=string'
*/

三. .resolve方法可以用于拼接URL

url.resolve('http://www.example.com/foo/bar', '../baz');
/* =>
http://www.example.com/baz
*/

Node.js中QueryString的使用

  • 序列化
    • 在终端中输入以下代码
querystring.stringify({name :  'kc', course : ['jade', 'node'],from : ' '})

返回以下代码:

'name=kc&course=jade&course=node&from=%20'
querystring.stringify({name : 'kc',course : ['jade', 'node'], from : ''}, ',')

返回的是一个用逗号分隔的字符串:‘name=kc,course=jade,course=node,from=’
第一个参数是一个url网址,第二个参数是每个键值对之间的分隔符号,第三个参数是键值对连接符号。

  • 反序列化
    • 在终端中输入以下代码
querystring.parse('name=kc&course=jade&course=node&from=')

返回值:{ name: ‘kc’, course: [ ‘jade’, ‘node’ ], from: ‘’ }

注意 如果中间的分割符号,键值对符号有更改,需要在第二个第三个参数传参,告诉计算机,否则将得到错误的结果!

  • 转译
    • 在终端中输入以下代码
querystring.escape('<哈哈>')

返回值:%3C%E5%93%88%E5%93%88%3E’

  • 反转译
    • 在终端中输入以下代码
querystring.unescape('%3C%E5%93%88%E5%93%88%3E')

返回值:’<哈哈>’

[fs](NodeJs 的fs模块)
  • readFile(),readFileSync()
    • readFile方法用于异步读取数据。
fs.readFile('./image.png', function (err, buffer) {
  if (err) throw err;
  process(buffer);
});
  • readFileSync方法用于同步读取文件,返回一个字符串。
var text = fs.readFileSync(fileName, 'utf8');
  • writeFile(),writeFileSync()
    • writeFile方法用于异步写入文件。
fs.writeFile('message.txt', 'Hello Node', (err) => {
  if (err) throw err;
  console.log('It\'s saved!');
});
  • writeFileSync方法用于同步写入文件。
fs.writeFileSync(fileName, str, 'utf8');
  • exists(path, callback)
    • exists方法用来判断给定路径是否存在,然后不管结果如何,都会调用回调函数。
fs.exists('/path/to/file', function (exists) {
  console.log(exists);
});
  • existsSync方法用来同步判断给定路径是否存在
const data = fs.existsSync(outputFolder))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值