2021-06-09 node四个内置模块的使用

本文介绍了Node.js中的四个核心内置模块:http用于创建服务器,fs进行文件操作,url处理URL,以及querystring解析查询字符串。通过实例展示了它们在实际开发中的应用和功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

node的四个内置模块

1.http模块:开启服务器

server.js

// 1.引入http模块
const http = require("http");
//2.创建Web服务,返回http对象
let app = http.createServer((req, res) => {
        console.log("访问了...");
    });
//3.监听服务器
app.listen(3210);
操作:

cmd中输入命令:node server.js
浏览器地址输入:localhost:3210

结果:

cmd中打印:访问了…

2.fs模块:对文件进行增删改查

fs.js:

const fs = require("fs");
// console.log(fs);
//增删改查:创建文件并写入,删除,重写,读取
//创建一个hello.txt文件,并在其中写入文本内容:this is helloData
fs.writeFile("./hello.txt", "this is helloData", (myerr) => {
    console.log(myerr);
});
//删除hello.txt文件
fs.unlink("./hello.txt", myerr => {
    console.log(myerr);
})
//将hello.txt文件重命名为hi.txt
fs.rename("./hello.txt", "./hi.txt", myerr => {
    console.log(myerr);
})
//将hello.txt中的内容改写为:你好记事本
fs.writeFile("./hello.txt", "你好记事本", (myerr) => {
    console.log(myerr);
});
//读取hello.txt中的文本内容
fs.readFile("./hello.txt", "utf-8", (myerr, mydata) => {
    console.log(myerr, mydata);
})
操作:

cmd中输入node fs.js

结果:

路径下的新增记事本文件有对应的增删改查

3.url模块
url模块的三个方法:url.parse();url.format();url.resolve();
//引入url模块
const urlModel = require("url");
//模拟一个url
var url = "http://www.baidu.com/data/hahaha/?a=1&b=2#01";
console.log("类型是", typeof url, "值是:", url);
//1.url.parse(urlString,boolean,boolean)方法:将url解析成对象
var obj = urlModel.parse(url, true); //将url中的query属性解析成对象
console.log("类型是", typeof obj, "值是:", obj);
//2.url.formate(urlString,boolean,boolean)方法:将对象解析成url
var str = urlModel.format(obj)
console.log("类型是", typeof str, "值是:", str);
//3.url.resolve(from,to)方法:返回一个格式为"from/to"的字符串
var string = urlModel.resolve(url, "#02")
console.log("类型是", typeof string, "值是:", string);
操作:

cmd输入url.js

结果:
类型是 string 值是: http://www.baidu.com/data/hahaha/?a=1&b=2#01
类型是 object 值是: Url {
  protocol: 'http:',
  slashes: true,
  auth: null,
  host: 'www.baidu.com',
  port: null,
  hostname: 'www.baidu.com',
  hash: '#01',
  search: '?a=1&b=2',
  query: [Object: null prototype] { a: '1', b: '2' },
  pathname: '/data/hahaha/',
  path: '/data/hahaha/?a=1&b=2',
  href: 'http://www.baidu.com/data/hahaha/?a=1&b=2#01'
}
类型是 string 值是: http://www.baidu.com/data/hahaha/?a=1&b=2#01
类型是 string 值是: http://www.baidu.com/data/hahaha/?a=1&b=2#02
4.querystring模块:查询字符串,一般是对http请求所带的数据进行解析

qs.js:

//将查询字符与对象互相转换的模块
const querystring = require("querystring");

//模拟类似于get方式发送的信息
var str = 'name=admin%padd=123';
//根据%号,分割字符为对象
var obj = querystring.parse(str, "%");
console.log("类型是:", typeof obj, "值是:", obj)
    //模拟对象
var obj2 = { a: 1, b: 2 }
    //将对象转换成类似于get方式发送的信息,用%号隔开
var str2 = querystring.stringify(obj2, "%");
console.log("类型是:", typeof str2, "值是:", str2)
操作:

cmd输入qs.js

结果:
类型是: object 值是: [Object: null prototype] { name: 'admin', padd: '123' }
类型是: string 值是: a=1%b=2

*node模块的分类:内置模块,第三方模块,自定义模块

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端OnTheRun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值