node.js 和 express 框架学习笔记(3)

三. 一些常用/必备模块的使用

1. node自带的http、fs、path模块

这三个模块大概是用的最多的,分别提供了http请求的收发、文件读写、路径解析的功能,具体说明参见http://www.runoob.com/nodejs/nodejs-tutorial.html

2. 数据库模块

fs模块显然是不能满足我们需要的,得有一个数据库模块来完成数据库CRUD。选择什么数据库好呢?

关系型数据库通常选择MySQL,开源方便,也易于从其他网站移植过来,相应的模块名叫node-mysql,算是官方模块,放心使用,具体说明参见https://www.npmjs.com/package/node-mysql

非关系型数据库通常选择mongo,提供类json的数据格式,相比于关系型数据库较为简单粗暴,也更轻量级,相应的模块有三个可选,mongodb、mongoskin、mongoos,第一个是官方模块,文档极为详尽,参见http://mongodb.github.io/node-mongodb-native/,第二个是基于官方模块的修改版,提供了一些更为简便的API,优化了使用方式,参见https://www.npmjs.com/package/mongoskin,第三个需要注意,它完全改变了mongo的特征,提供了模型-视图这样的关系型数据库的操作方式,据说适合从其他数据库迁移过来的程序员,也适合更规范化的编程,不过我是一点都不习惯,但是偏偏好评很多,大家自己取舍吧,我用的mongoskin。

mongo的API基本都是异步方法,如果逻辑稍微复杂就会导致代码大量的嵌套回调。当然node本身也是各种各样的回调,因此有一个概念叫做回调黑洞,用于描述大量嵌套回调带来的不便。这个问题目前没有完善的解决方案,但是有一些工作流模块用于改善这种情况,常用的是async库,后面再说。

3. 网站相关的一些模块

会话session:express-session,依赖于cookie-parser模块;通常还会用到connect-mongo模块用于将session存放于数据库,当然不做持久化就不用了。参见https://www.npmjs.com/package/express-session

数据压缩:compression,放在所有中间件前面就好,可以指定压缩级别也可以保持默认,参见https://www.npmjs.com/package/compression


下一篇开始聊聊express框架,和这些模块的基本使用。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值