Node.js篇章

115 阅读2分钟

概要

  • npm config list ---列出npm相关信息
  • npm config set registry +镜像源
  • npm i xmzs -g ---镜像切换
  • mmp use切换原
  • npm ls -g 查看电脑全局可执行文件
  • cjs与esm: image.png
  • events事件触发器(事件总线)
  • util.promisify()返回一个promise函数
  • pngquant() 处理图像函数
  • readFile() 异步读取文件函数
  • readFileSync()同步读取文件函数
  • readFile().then(()=>{})promise版本
  • readStream=fs.createReadStream() 创建可读流,readStream.on()一般处理大文件用
  • mkdirSync(,{recursive:true//递归创建多层})创建文件夹
  • rmSync()删除文件夹
  • renameSync()重命名
  • fs.watch()监听文件变化
  • fs.writeFileSync(,{flag:'a'}//追加写入)写入文件
  • fs.appendFileSync()内容追加
  • writeStream=fs.createWriteStream() 创建可写流,WriteStream.on(),WriteStream.end()最后关闭
  • fs.linkSync(文件1,文件2)硬链接,共享文件,两个文件会被同步修改,也可单独留一个文件
  • fs.symlinkSync()软连接,需要管理员权限,原文件必须存在否则不可用
  • crypto 提供加密和哈希算法
  • markdown EJS、Marked、BrowserSync
  • zlib模块,提供对数据压缩和解压的功能
  • http(反向代理)
  • http(邮件服务) nodemailer、js-yaml
  • ORM(Knex+express),创建表需要.then()或者用await,
  • ORM(prisma)

读取路径问题

  • 因为node.js会以当前文件所处的位置读取文件,使用../可能会造成文件读取失败,所以推荐使用__dirname,它会读取当前文件的路径,再拼接上要读取的文件即可。
  • path.join() 将多个路径片段拼接成完成的路径
  • path.join() 用于将多个路径片段连接成一个路径。
  • path.resolve() 用于根据当前工作目录计算出一个绝对路径
  • path.basename(文件路径,后缀名) ,若希望最后文件无后缀名,则传第二个参数
  • path.extname() 获取路径最后的文件的后缀名 (如.html)

解决请求中中文乱码问题

res.setHeader('Content-Type','text/html;charset=utf-8')
res.end(str)

模块共享使用误区

虽然初始时exports和module exports指向同一块内存区域,但这两个是不同的东西,导入以module exports导出的为准(重新指向变量,内存对象不变)

require()加载问题

image.png

中间件

image.png 内置中间件

image.png

使用cors解决跨域问题

image.png

es6扩展运算符高级语法

//将密码和头像指定空值并覆盖result里的相应参数
const token= {...result[o],password:'',avator:'']

body-parser

引入次插件就可以用res.body获取终端输入的数据

image.png

链接数据库

image.png