zoukankan      html  css  js  c++  java
  • Nodejs WEB开发常用库和框架

    我在Nodejs的体系里也算泡了很久了,的确非常喜欢javascript和Nodejs. 在我看来,用nodejs做web开发有以下几个优点:

    • Javascript作为一个语法异常简单的脚本语言,约束较少,开发效率比较高.
    • Nodejs在设计时就考虑了依赖管理,有一个成熟的npm机制,在使用过程中很少遇到版本问题.
    • Javascript的语法非常灵活,而且它的基于prototype的链式集成机制,obj[property]和obj.property的混用可以创造出很多变化.
    • 对于JSON的天然支持
    • 原生的异步编程机制和单线程的工作方式,因此不像同步模型需要锁等机制
    • javascript可以让前后端开发语言统一,现在不少框架把网络通讯层进行了封装.前后端的区别更加模糊.

    特别是现在前端的逻辑越来越复杂,单页面的web app程序越来越流行. 相信Nodejs会被更多的互联网公司接受.
    这篇文章简单记录下我经常用到的一些库或者框架,仅供参考.

    标准LIB

    path

    path库最常用的就是path.join了,另外path.extname也经常能用到. path和require机制配合可以做模块的动态加载等一些功能.

    fs

    fs是nodejs的文件管理模块,常用的几套api有:

    • readFile[Sync], writeFile[Sync]等用来读取文件内容的.
    • lstat, stat和isDirectory, isFile等API结合来判断文件/文件夹结构,目录等
    • createReadStream, createWriteStream获取读写流.

    request

    request库用来发送Http请求,Nodejs的网络lib库建议还是仔细阅读一下nodejs的官方文档.

    常用LIB

    Q

    因为Javascript的异步机制,使得写出来的程序往往是一层一层的callback嵌套,代码的可读性和维护性都很差. 而Promise的出现使得我们可以更加直观简洁的去处理异步编程.

    数据库

    mongoose

    mongo数据库在WEB编程里大行其道. 我喜欢用mongo的最重要原因就是sql数据库太麻烦,需要严格的设计数据库,然后所有操作都需要去拼接SQL. 而mongo的数据就是类json对象,非常适合快速开发.
    mongoose是nodejs的一个mongo驱动,通过定义Schema和Model,mongoose可以帮开发者管理数据库连接,数据写入读取等. 另外结合Schema和Model可以进一步直接封装出Restful Service.

    nedb

    对于程序员,没有最懒,只有更懒.毕竟Mongo数据库还需要单独建立,然后去连接,在快速开发时,我偶尔会使用nedb. 这是一个nosql版的sqlite, 数据库直接以文件形式存储,非常适合快速的原型开发.

    WEB Server

    express

    express貌似成了nodejs web项目的基准了吧,貌似也有一些类似的框架,但是express是毫无疑问的主流.
    express里目前我最常用到的就是基本的router,jade渲染机制,另外还有一些辅助库.

    passport

    web最基本的功能就是用户登录, passport就是常用的用户登录库,另外它还提供了与各个网页的oauth对接功能.

    formidable

    express4已经集成了bodyparser等一些基本中间件. 不过formidable还是值得一用,专门对文件上传进行了优化.

    node-restify-mongoose

    随着业务逻辑很多转移到前端,后端系统往往只作为一个data server.
    node-restify-mongoose使开发者仅仅通过定义数据schema就可以搭建出restful service.

    winston

    winston是用来做log的, 通过定义transport以及log level,可以很方便的切换不同的log等级,以及log输出方式(文件,屏幕等).

    测试

    mocha

    karma

  • 相关阅读:
    【TECH】CAS php客户端配置
    【Tech】CAS多机部署Server和Java Client端
    【Tech】CAS RESTful API使用笔记
    【读书笔记】《Java Web整合开发实践》第3章 JSP
    MVC
    Echarts
    AutoMapper
    EntityFramework 二
    EntityFramework 一
    C# 基础复习 四 多线程
  • 原文地址:https://www.cnblogs.com/lkiversonlk/p/4926626.html
Copyright © 2011-2022 走看看