模块系统学习

模块系统


前言

本篇文章将讲述node.js包、npm下载、字符串模块的查询、URL模块、文件系统模块(fs)以及同步异步的区别。


提示:以下是本篇文章正文内容,下面案例可供参考

一、包和npm

1.简介

CommonJS规范,JS向服务器端发展所遵循的规范,例如模块作用,导入,导出都是CommonJS规范下的。
模块系统分为自定义模块、核心模块以及第三方模块。
包就是一个目录模块,而npm就是用于管理包的工具。

2.npm操作

在指定的目录下的空白区域,按住Shift键单机鼠标右键,选择在此处打印powershell窗口。
npm init -y 初始化一个package.json文件,项目说明文件,会记录项目相关内容及包的信息
npm install 包名称 自动下去到当前目录下node_modules中
Npm install 自动安装package.json和package-lock.json 中的记录的包以及对应的版本号

二、查询字符串模块

1.什么是查询字符串?

浏览器向web服务器发送请求,传递数据的一种方式,位于URL中问号后的部门。

2.查询字符串API

(1) parse()

将查询字符串解析为对象

//引入查询字符串模块
const querystring=require('querystring');
let str='kw=dell&price=4999';
//解析查询字符串为对象
let obj=querystring.parse(str);
console.log(obj);
(2) Stringfy()

将对象格式化为查询字符串

//将对各格式化为查询字符串
let obj2={
	lid:18,
	title:'dell'
}
querystring.stringfy(obj2);
let str2=querystring.stringfy(obj2);
console.log(str2);

3.URL模块

用于处理和解析URL
例:http://www.codeboy.com:80/products.html?kw=dell#three

(1) parse()

解析URL为对象
例:获取以下URL中查询字符串的数据
http://www.tmocc.cn:443/web/wsl.html?cid=7&cname=nodejs

//引入模块
const url=require('url'); 
const querystring=require('querystring');
let str='http://www.tmocc.cn:443/web/wsl.html?cid=7&cname=nodejs';
//解析URL为对象
let obj=url.parse(str);
console.log(obj);
let str2=obj.query;
console.log(str2);
(2) format()

将对象格式化为URL

//将查询字符串解析为对象
let obj2=querystring.parse(str2);
console.log(obj2.cid,obj2.cname);

4.文件系统模块(fs)

(1) 查看文件状态

fs.stat(path,callback)/fs.statSync(path)
path 文件路径
callback 回调函数,用于获取结果
err 可能产生的错误结果
result 文件的状态结果
isFile()/isDirectory()

const fs=require('fs');
//1.查看文件的状态
let res=fs.stat('main.js',(err,result)=>{
	//console.log(err);
	if(err) throw err;
	//console.log(result);
	//是否为文件
	console.log(result.isFile());
	//是否为目录
	console.log(result.isDirectory());
});
let result=fs.statSync('main.js');
console.log(result);
(2) 创建目录

fs.mkdir(path,callback)/fs.mkdirSync(path)

fs.mkdir('mydir',(err)=>{
	if(err)throw err;
	console.log('目录创建成功');
});
fs.mkdirSync('mydir2');
(3) 移除目录

fs.rmdir(path,callback)/fs.rmdirSync(path)

//异步
fs.rmdir('mydir2',(err)=>{
	if(err)throw err;
	console.log('移除成功');
});
//同步
fs.rmdirSync('mydir');
(4) 读取目录

fs.readdir(path,callback)/fs.readdirSync(path)
err
result 读取结果

//异步
fs.readdir('05',(err,result)=>{
	if(err)throw err;
	console.log(result);
});
//同步
let result=fs.readdirSync('05');
console.log(result);

5.同步和异步

同步:会阻止后续代码执行,执行前边代码执行完才会执行后续代码,通过返回值获取结果。
异步:不会阻止后续代码执行,后续的代码先执行,不需要等待前边的代码,通过回调函数获取结果。
在这里插入图片描述


总结

文章总结:和老师以及小伙伴们一起学习进步!坚持!坚持!坚持!若有不对,欢迎大佬指出。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值