美文网首页
npm中常用的package

npm中常用的package

作者: 2f25a5d8710f | 来源:发表于2017-08-03 19:09 被阅读31次

morgan

用于记录日志的中间件,可以根据给定的参数和格式记录日志;
配合文件写入功能,可以将日志按照每天一个文件的格式写入到文件中;
日志记录的繁简也可设定或自定义

实例

import express from 'express'
import logger from 'morgan'

app.use(logger('dev', {
    skip: () => app.get('env') === 'test'
}))
// 代码说明:
// 将日志按照dev级别的输出,test环境中不输出

日志按天记录

var express = require('express')
var fs = require('fs')
var morgan = require('morgan')
var path = require('path')
var rfs = require('rotating-file-stream')
 
var app = express()
var logDirectory = path.join(__dirname, 'log')
 
// ensure log directory exists 
fs.existsSync(logDirectory) || fs.mkdirSync(logDirectory)
 
// create a rotating write stream 
var accessLogStream = rfs('access.log', {
  interval: '1d', // rotate daily 
  path: logDirectory
})
 
// setup the logger 
app.use(morgan('combined', {stream: accessLogStream}))
 
app.get('/', function (req, res) {
  res.send('hello, world!')
})

cookie-parser

对http传入的cookie进行解析后赋值给req.cookies,使得中间件可用;
如果传入了一个string类的参数那么说明你需要对用这个参数进行了加密的值进行解密(注意!这个方法不是加密是解密!)

options 中没有设置过期时间的话,默认关闭浏览器即过期清除

var express      = require('express')
var cookieParser = require('cookie-parser')
 
var app = express()
app.use(cookieParser())
 
app.get('/', function(req, res) {
  console.log('Cookies: ', req.cookies)
})
 
app.listen(8080)
 
// curl command that sends an HTTP request with two cookies 
// curl http://127.0.0.1:8080 --cookie "Cho=Kim;Greet=Hello" 

body-parser

对post请求的请求体进行解析
以下两行代码已经覆盖了大部分的使用场景。

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));

一篇不错的入门教程

connect-history-api-fallback

单页应用中,导航都是用 HTML5 History API来做的。这样在按F5或ctrl+F5及其他强刷时,会跳转回首页,体验非常不好。
这个package就是解决这个问题的最佳方案。

代码实例:

import history from 'connect-history-api-fallback'
const app = express()
app.use(history())

jwt-simple

JWT(JSON Web Token)
编码和解码
默认的算法是 HS256
支持: HS256, HS384, HS512 and RS256.

var jwt = require('jwt-simple');
var payload = { foo: 'bar' };
var secret = 'xxx';
 
// HS256 secrets are typically 128-bit random strings, for example hex-encoded: 
// var secret = Buffer.from('fe1a1915a379f3be5394b64d14794932', 'hex) 
 
// encode 
var token = jwt.encode(payload, secret);
 
// decode 
var decoded = jwt.decode(token, secret);
console.log(decoded); //=> { foo: 'bar' } 

相关文章

  • npm常用命令

    npm常用命令 npm init 生成package.json文件 npm install 安装package.j...

  • 表严肃讲NPM

    npm的常用操作 初始化 安装 卸载 更新 在npm中,包(package)、模块(module)、依赖(depe...

  • npm

    常用命令 命令简写说明npm init生成 package.json 文件npm init -ynpm init ...

  • NPM一些常用命令

    欢迎移步我的博客阅读:《NPM一些常用命令》 关于NPM NPM的全称是Node Package Manager,...

  • npm中常用的package

    morgan 用于记录日志的中间件,可以根据给定的参数和格式记录日志;配合文件写入功能,可以将日志按照每天一个文件...

  • npm script 笔记

    常用命令缩写 安装 package常规:npm install pkg, 缩写:npm i pkg 安装全局pac...

  • npm常用命令速查表

    注:在npm中,包(package)、模块(module)、依赖(dependency)说的都是一回事儿。 常用命...

  • npm 常用命令

    注:在npm中,包(package)、模块(module)、依赖(dependency)说的都是一回事儿。 常用命...

  • npm

    NPM 1. NPM简介 2. NPM 常用命令 除了本章介绍的部分外,NPM还提供了很多功能,package.j...

  • node.js学习笔记1

    1,档案读取,输出档案资料, 2.获取请求参数 3.npm 维护管理套件。 4. 常用npm 5.package....

网友评论

      本文标题:npm中常用的package

      本文链接:https://www.haomeiwen.com/subject/qfrplxtx.html