Node.js基础入门之path模块,url模块,http模块使用详解
1. path模块的使用
path模块是Node.js中内置的一个用于处理文件路径的模块。在使用path模块时需要先引入模块,引入模块后就可以使用其中的方法了。
1.1 获取文件名
使用path模块中的basename
方法可以获取文件名,比如我们有一个路径为/user/local/test.txt
的文件,需要获取它的文件名,代码示例如下:
const path = require('path');
const fileName = path.basename('/user/local/test.txt');
console.log(fileName);
// 输出结果为:test.txt
1.2 获取文件路径
使用path模块中的dirname
方法可以获取文件路径,代码示例如下:
const path = require('path');
const filePath = path.dirname('/user/local/test.txt');
console.log(filePath);
// 输出结果为:/user/local
1.3 获取文件后缀名
使用path模块中的extname
方法可以获取文件后缀名,代码示例如下:
const path = require('path');
const fileExt = path.extname('/user/local/test.txt');
console.log(fileExt);
// 输出结果为:.txt
2. url模块的使用
url模块是Node.js中内置的一个用于解析URL的模块。在使用url模块时需要先引入模块,引入模块后就可以使用其中的方法了。
2.1 解析req.url
在Node.js的http模块中,通过req.url可以获取HTTP请求的URL路径,而使用url模块中的parse
方法可以对URL路径进行解析,获取其中的各个部分,代码示例如下:
const http = require('http');
const url = require('url');
http.createServer((req, res) => {
const urlObj = url.parse(req.url);
console.log(urlObj);
// 输出结果为:
// Url {
// protocol: null,
// slashes: null,
// auth: null,
// host: null,
// port: null,
// hostname: null,
// hash: null,
// search: '?name=张三&age=18',
// query: { name: '张三', age: '18' },
// pathname: '/',
// path: '/?name=张三&age=18',
// href: '/?name=张三&age=18'
// }
}).listen(3000);
2.2 拼接URL路径
使用url模块中的resolve
方法可以拼接URL路径,代码示例如下:
const url = require('url');
const fullUrl1 = url.resolve('https://www.baidu.com', '/index.html');
console.log(fullUrl1);
// 输出结果为:https://www.baidu.com/index.html
const fullUrl2 = url.resolve('https://www.baidu.com/news', '/index.html');
console.log(fullUrl2);
// 输出结果为:https://www.baidu.com/index.html
3. http模块的使用
http模块是Node.js中内置的一个用于构建HTTP服务器和客户端的模块,使用http模块可以方便地实现Web应用。在使用http模块时需要先引入模块,引入模块后就可以使用其中的方法了。
3.1 构建HTTP服务器
使用http模块中的createServer
方法可以构建HTTP服务器,代码示例如下:
const http = require('http');
http.createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'text/html' });
res.write('<h1>Hello, World!</h1>');
res.end();
}).listen(3000);
3.2 发送HTTP请求
使用http模块中的request
方法可以发送HTTP请求,代码示例如下:
const http = require('http');
const options = {
hostname: 'www.baidu.com',
port: 80,
path: '/',
method: 'GET',
};
const req = http.request(options, (res) => {
console.log('statusCode:', res.statusCode);
console.log('headers:', res.headers);
res.on('data', (d) => {
process.stdout.write(d);
});
});
req.on('error', (e) => {
console.error(e);
});
req.end();
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Node.js基础入门之path模块,url模块,http模块使用详解 - Python技术站