nodejs生成验证码
2017-11-28
前言
大家都知道原来php有个GD库可以做图片验证码,那么nodejs如何做验证码?带着这个疑问我在google上展开了各种搜索。
终于找到了node-canvas这个node图形包。其原理就是nodejs通过这个包实现了nodejs版本的 canvas 语法,通过调用底层的c语言包来绘制canvas并生成图片。这里只说如何使用,原理不再纠结。
如何安装
安装前请先安装node-canvas依赖的底层包。
- Mac HomeBrew 安装
1 | brew install pkg-config cairo pango libpng jpeg giflib |
- lunix安装
1 | sudo apt-get install libcairo2-dev libjpeg8-dev libpango1.0-dev libgif-dev build-essential g++ |
- Windows安装
这里windows安装笔记繁琐,所有直接去github查看wiki
以上底层依赖安装好后执行
1 | npm install canvas |
目前npm下载的是1版本,最新版本请执行
1 | npm install canvas@next |
nodejs生成验证码demo
1 | const express = require('express'); //express |
node验证码demo下载
提取密码:w2zw
下载完成后解压缩,安装本文上述依赖包后
1 | cd node-canvas |