npm中常用的package
程序员文章站
2022-03-03 18:53:13
...
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' }
上一篇: HBase-错误记录
推荐阅读
-
详解CSS3中常用的样式【基本文本和字体样式】
-
JAVASE 小白学习笔记 (12-3)Java中的常用类--StringBuffer类、StringBuilder类
-
Sublime text 2/3 中 Package Control 的安装与使用方法,sublimepackage
-
【转载】C#中SqlCommand类的作用以及常用方法
-
一条命令让你明白shell中read命令的常用参数
-
PHP中如何实现常用邮箱的基本判断_PHP
-
php中的mongodb select常用操作代码示例,mongodbselect
-
php中Curl函数常用的两个例子_PHP教程
-
MongoDB在PHP中的常用操作小结_php技巧
-
字符串中的常用方法