nodejs基础知识点
nodejs
配置
- 在根目录创建node_cache和node_global文件夹
- 创建系统变量
- 新建一个NODE_HOME变量
- 然后path中创建三个变量
%NODE_HOME% %NODE_HOME%\node_global %NODE_HOME%\node_cache
自定义npm的配置信息
npm config get registry
查看现在用的什么源:
npm --registry https://registry.npmmirror.com install express
作为临时使用修改npm源(不会影响到本地配置)
我们要自己修改npm的缓存,全局安装路径和仓库源
- 自定义全局安装路径
npm config set prefix "D:\Nodejs\node-v20.17.0\node_global" - 自定义缓存路径
npm config set cache "D:\Nodejs\node-v20.17.0\node_cache" - 设置远程仓库
npm config set registry https://registry.npmmirror.com - 查看npm配置信息
npm config ls
模块调用的几种方式
nodejs 模块分三大类 自定义模块,第三方模块,核心模块
核心模块是用nodejs自带的模块组件,比如fs path http url buffer等
直接加载 const fs = require("fs") 或者 const fs = require("node:fs")
第三方模块 就是npm install 模块名 -g
全局安装后进行调用使用
const jsdom = require("jsdom")
自定义nodejs加载模块方式分2种
-
符合CommonJs规范
CommonJs规范是用require导入,exports/moudle.exports导出
-
符合ESM规范
ESM规范是用import导入,export/export default导出,
-
同时js后缀名要用
.mjs
-
或者package.json中type值修改为module
一般习惯使用这种,用在js当前路径使用
npm init -y
生成packjson文件,添加"type":"module"
,然后文件后缀改回js
-
系统模块
path
let path = require("path");
pth = "d:/test/abc/a.txt";
console.log(path.parse(pth));
pth3 = {
root: 'e:/',
dir: 'd:/test/abc',
base: 'a.txt',
ext: '.txt',
name: 'abc'
};
console.log(path.resolve(path.format(pth3)));
//主要讲2个方法parse和format, 2者是互斥,parse可以把一个路径拆分成root,dir,base,ext,name等属性
//format 可以把root,dir,base,ext,name等属性 拼接成一个完整路径. 其中root和dir是以dir优先,base和ext name是以base优先,这里的优先可以理解为互斥,2者都有只取优先的那个
//resolve和relative分别是获取绝对路径和相对路径,resolve如果传的是字符串而不是路径还可以根据当前脚本运行的路径去进行拼接 比如path.resolve("a","b","c.txt") 结果是D:\coding\PyCharm 2018.2.4\test\nodejs\demo1\a\b\c.txt
buffer模块
buffer是用来缓存二进制的数据的.是在内存中的一个缓存区
导入方式const {Buffer} = require("buffer")
Buffer是一个全局变量,因此不导入也可以直接使用
比如console.log(Buffer.alloc(7,15))
console.log(Buffer.alloc(10,"你好"));
alloc方法
alloc 两个参数 第一个参数是指定buffer长度, 参数2是指定值填充buffer,16进制.
Buffer.alloc(10,"你好") 以中文举例,一个中文占3个位,因此指定的长度大于需要的位数.这种情况会重复把6位的中文进行占位.填满
而指定位数少于需要的位数,则会截取相应的位数作为存放长度.
from方法
Buffer.from("你好的就挨打")
可以自动指定对应的buffer长度,并用16进制显示,from不能单独接受数字,如果是数字需要用数组进行输入, from只能接受一个参数,参数必须是字符串,数组,buffer对象
fill() 用指定值对buffer进行填充 3个参数 要填充的值 下标索引位置, 决定从哪个位置开始填充 下标索引位置, 决定从填充到哪个位置
write() 将指定值写入到buffer中 3个参数 要填充的值 下标索引位置, 决定从哪个位置开始填充 决定填充长度
toString() 用buffer解析成字符串 3个参数 使用的字符编码 开始解码的字符偏移量
subarray() 从原buffer截取一段返回新的buffer 2个参数 开始截取的位置 到哪个位置结束
indexOf() 返回检索内容第一次出现的位置索引
本文作者:死了也要PY
本文链接:https://www.cnblogs.com/Young-shi/p/16538042.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
2021-07-31 Django --总结 之URL路由控制 视图相应,视图请求,和模板语法&过滤器
2021-07-31 Django URL控制器 APPEND_SLASH属性
2019-07-31 *args和**kwargs传参的注意点 + 装饰器
2019-07-31 XML模块