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))