模块名 | 作用 |
express | web开发的几大基础框架之一 |
body-parser | 格式化GRT/POST的参数,原包含在express中,express4.0后独立出来? |
cookie-parser | 处理cookie,另一个兄弟为express-session,两个原来都包含在express中,express4.0后独立出来? |
ejs | 模版引擎,另一个常用的模版引擎为jade |
log4js | 记录日志,用过java的人都懂? |
mysql | 连接mysql? |
mongodb | 连接mongodb? |
mongoose | 用来管理mongodb? |
node-dev | 开发时热部署,用过java的tomcat热部署都懂? |
pm2 | node进程管理,node程序永不宕就靠它了? |
开发微信用,你懂的? | |
nodemailer | 用来发邮件? |
MD5 | 用来进行MD5加密? |
request | 用来发送http/https请求? |
async | 用于管理异步处理流程,否则层层嵌套回调烦死你? |
cron | 与linux下的cron一样设置定时任务用,你懂的? |
later、node-schedule | 比cron功能强大,但是过于强大,一般cron就够用了? |
pinyin | 把汉字转为拼音? |
moment | 格式化Date,前后端均可用 |
1、express、body-parser、cookie-parser、express-session
这三个是做普通web站点的绝配的,express是主框架,其他几个都依赖于这个。当然,要是没有注册登录功能一般就用不上session,酌情选择吧,反正从express中分离出来了。
2、node-dev、pm2
其实pm2中也有watch,也可以做热部署,但是不怎么好用,所以我选择开发时使用node-dev,生产时使用pm2保证程序不会宕机。
3、mongodb、mongoose、mysql
用来连接数据库,我目前就用过这两个数据,其他数据的连接模块可以npm上去找。mongoose是一个辅助工具,用来管理mongodb模型模式等,就和java一样,你总不至于用自己写jdbc直接操作数据库吧,个人感觉和mybatis一样的作用。
4、log4js、nodemailer
这两个有时是配合使用,记录日志用log4js,哈哈,和java的log4j很像吧。当发生崩溃性的错误时,可以在宕机前用nodemailer模块发送邮件哦~~~
5、async、request
这两个是我觉得最nice的模块,request用来发送http/https请求,比node自带的http模块好用多了,用于和其他站点通信、做爬虫、对接接口等等。async这个简直就是node的救星啊,大大的弥补了回调的诟病。也许你见过5层甚至更多层的回调嵌套,到最里面那层,估计前面的大括号缩进都占了40个空格了。。。这个可读性,想想都抓狂。
6、cron、later、node-schedule
这三个是做定时任务的,前两个支持"* * * * * ? *"的cron写法,后一种是要挨个挨个设置属性。一般熟悉java和shell的人用cron很顺手,基本和linux的cron一样。later功能过于强大,一般是大材小用。node-schedule合适前端人员用,因为属性设置和设置Date是一样的。
7、wechat、MD5、pinyin
第一个是开发微信用的,第二个是MD5加密用的,第三个是用于把字符串中的中文转换为拼音(非中文不转换,拼音可以用声调哦)。
8、moment
用于格式化Date的,node端通过npm moment安装使用,前端直接下载moment.js引入使用。