常用node依赖库

396 阅读2分钟

http

const http = require('http');
  • 常用方法:
    http.createServer((req,res)=>{});//创建服务

url

const url = require('url');
  • 常用方法:
    url.parse(req.url,true);//解析url

path

const path = require('path');
  • 常用方法:
    path.join(__dirname,'name.txt');
    path.resolve(__dirname,'name.txt');
    //路径拼接

fs

const fs = require('mz/fs');
fs.readFile(url,callback);//读文件
fs.whiteFile(url,callback);//写文件
fs.createReadStream();//读取流
fs.createWriteStream();//写入流
  • 常用方法:
    fs.stat(absPath);

mime

const mime = require('mime');
  • 常用方法:
    res.setHeader('Content-Type',mime.getType(absPath));////通过后缀名指定mime类型

pipe

const pipe = require('pipe');
  • 常用方法:
   readStream.pipe(writeStream);//读文件后,写入本地
   readStream.pipe(res);//读文件后,直接打印在网页上让用户看到

querystring

const querystring = require('querystring');
  • 常用方法:
    querystring.parse(str[, sep[, eq[, options]]])//对url查询参数(字符串)进行解析,生成易于分析的json格式
    querystring.stringify(obj[, sep[, eq[, options]]])//.parse()相反,用于拼接查询查询
    //sep,eq,替换&、=为自定义字符

crypto

const crypto = require('crypto');
  • 常用方法:
    let secret = 'ld';
    crypto.createHmac('sha256',secret).update('12345').digest('base64');//加盐算法
    crypto.createHash('md5').update('12345').digest('base64');//摘要算法
    //md5是摘要算法,并不是加密
    //1) 相同的内容 摘要后相同
    //2)不同的内容 摘要出的结果完全不同
    //3)长度相同
    //4)摘要后不可逆

uuid

const uuid = require('uuid');
  • 常用方法:
    uuid.v1();//基于时间戳,不重复
    uuid.v4();///随机生成,有几率重复
    //生成唯一标识符

body-parser

const bodyParser = require('body-parser');//express
const koaBodyParser = require('koa-bodyparser');//koa
  • 常用方法:
    //解析post的中间件依赖库
    app.use(bodyParser.json());
    app.use(bodyParser.urlencoded({ extended: false }));
    app.use(koaBodyParser());

methods

const methods = require('methods');

  • 常用方法:
   [...methods,'all'].forEach((method)=>{
    app[method] = (p,callback)=>{
      app.routes.push({
        path:p,
        method:method,
        handler:callback,
      })
    }
  })

koa-router

const KoaRouter = require('koa-router');

  • 常用方法:
 let router = new KoaRouter();
 router.get('/add',async (ctx,next)=>{
  ctx.body='aa';
  next();
});
 app.use(router.routes());

fetch-service-parser

import { services } from 'fetch-service-parser'
//一个接口请求的工具,帮助快速定义接口
  • 常用方法:
const {parseRequest} = services

// 请求列表
export const List = parseRequest({
  url: "/api/list"
})

quill-markdown-shortcuts

import { services } from 'fetch-service-parser'
//这个包是一个quire .js模块,它将markdown动态转换为格式化的富文本
import Quill from 'quill';
import MarkdownShortcuts from 'quill-markdown-shortcuts';

Quill.register('modules/markdownShortcuts', MarkdownShortcuts);

const quill = new Quill('#editor', {
  theme: 'snow',
  // All you need to do to enable the module is to add a modules key
  // to your quill configuration, and add markdownShortcuts with an
  // empty object.
  // There are currently no options to set.
  modules: {
    markdownShortcuts: {}
  }
});