nodejs笔记—基础篇
nodejs 三大模块:https://www.imooc.com/video/20557
-
全局模块(全局对象):
不用下载,不用引入(通过require),哪里都可以直接使用。https://www.runoob.com/nodejs/nodejs-global-object.htmlprocess.env // 环境变量 process.argv // 启动 Node.js 进程时传入的命令行参数
1、__filename: 表示当前正在执行的脚本的文件名。它将输出文件所在位置的绝对路径,且和命令行参数所指定的文件名不一定相同。 如果在模块中,返回的值是模块文件的路径。
2、__dirname: 表示当前执行脚本所在的目录。
3、setTimeout、clearTimeout:
4、setInterval、clearInterval:
5、console:
6、process:(webpack中经常用到它的 环境变量属性)
7、require、exports:模块相关的API
-
内置模块(原生模块):
不用下载,但是需要引入模块,再使用。 https://blog.csdn.net/qq_43119195/article/details/84632716 或 https://ruphi.cn/archives/111/ 或 https://m.html.cn/qa/node-js/12042.html
内置模块有:fs、URL、queryString、path、http、crypto、util 模块
let path = require('path') // path 模块,需要先引入 console.log(path.dirname('文件路径'))
-
- File System模块
- URL模块:
i、将一个url地址变成一个对象:url.parse(urlString,[,options]);
ii、将对象(格式正确)转化成一个url地址:
url.format(URL[, options])
- queryString模块:queryString就是查询字符串,模块提供了一些实用函数,用于解析与格式化 URL 查询字符串
i、 对给定的str
进行 URL 编码。
ii、 对给定的str
进行 URL 解码。
iii、 将对象转化成字符串(url参数显示的字符串)
iiii、将query字符串转化为对象 - path模块
i、 路径的拼接
ii、 判断path是否是绝对路径,返回值是布尔值
iii、 获取一个路径中的文件夹名
iiii、 获取一个路径中的文件名
iiiii、返回 文件路径 的扩展名 - http模块:
- crypto模块:加密用的
- zlib模块:zlib就是文档压缩,
zlib
模块提供通过 Gzip 和 Deflate/Inflate 实现的压缩功能 - util 模块:常用工具
- OS 模块:os 模块提供了一些基本的系统操作函数
-
第三方模块:
外部模块,可以是别人写的,也可以是自己写的。exports // 导出模块(以模块的属性导出,如 exports.8a) modules // 导出模块(以对象的形式导出) require // 导入模块
相对路径还是全局路径:https://blog.csdn.net/weixin_48940933/article/details/115774570
- 大多数情况下使用绝对路径,因为相对路径有时候相对的是 命令行工具 的当前工作目录。
- 在读取文件或者设置文件路径时都会选择绝对路径
所以:一般都是 使用绝对路径,后端语言的绝对路径都是基于当前文件的绝对路径进行组合的。如:
const path = require('path') const myPath = path.resolve(__dirname, './data.json') // resolve 只要碰到 / 根路径,就会抛弃前面的 路径参数。 // 或 const myPath = path.join(__dirname, './data.json') // join 只是路径的连接,碰到 .. 或 ../ 才会进行路径的移动。
因为经常要组装需要的绝对路径,我们可以写一个方法:
function resolve(dir){ return path.join(__dirname, dir) }