美文网首页我爱编程React.js学习
Node.js 常用工具、依赖和插件

Node.js 常用工具、依赖和插件

作者: djyuning | 来源:发表于2017-06-25 11:58 被阅读1424次

    本文收集了 Node.js 中常用的工具、依赖包和插件等,涵盖了 应用、后端框架、前端框架、UI 组件、工具库、功能插件和解决方案等。

    Node.js

    Git上一个较为全面的汇总:awesome-nodejs

    目录

    • Dependency Management 依赖管理
    • Application 应用
    • Framework 框架
    • Build 打包编译
    • Template Engine 模板引擎
    • CSS Preprocessor CSS预处理器
    • Responsive UI Framework 响应式 UI 框架
    • Editor 编辑器
    • Chart 图表
    • Syntax Highlighter 语法高亮
    • Database 数据库
    • Status & Storge 状态和存储
    • Security 安全
    • Task 任务
    • Test 测试

    Dependency Management 依赖管理

    • NPM Node.js 自带的包管理工具,国内访问可能会较慢,甚至出错,时好时坏!
    • CNPM 正是因为 NPM 经常抽筋,所以国内才有了 CNPM,这是一个完整 npmjs.org 镜像,可代替官方版本,同步频率目前为 10分钟,访问速度快,命令行输出也比较友好。
    • Yarn 是 Facebook 推出的,一个可能取代 npm 的新型包管理器,据说速度很快,国内用户也可以为其设置淘宝镜像!😶

    Application 应用

    本部收录了一些使用 Node.js 相关的技术实现的具体产品,这些产品中有些已经用于实际生产,有些仅仅是学习之用。

    • Node club 是使用 Node.js 和 MongoDB 开发的社区系统 http://cnodejs.org/
    • KeystoneJS 是一个基于 Express 与 Mongoose 的 Node.js CMS 内容管理平台和Web应用平台。使用它可以方便快速建立基于数据库驱动的网站应用,还提供了安全认证和会话管理、动态路由、能够对密码自动加密、表单校验处理、自动产生管理界面、Email邮件发送等。
    • Apostrophe 一个 CMS 框架,支持上下文编辑和灵活的插件。
    • Firekylin 基于 ThinkJS 2.0 & ReactJS & ES2015+ 开发的一个简约高效的博客系统。
    • StrongLoop 是一个基于 Node.js 开发的 API 服务,它最著名的一款实时性能监测产品叫 StrongOps,通常也叫做Nodefly。StrongLoop套件包含了LookBack、StrongOps、StrongNode这三个产品。
    • Hexo - 高效、简洁、强悍的博客。
    • ghost - 简洁、功能强大的发布平台。

    Framework 框架

    本部可分为后端框架、前端框架、工具库 三个部分。

    后端框架

    • Express 快速、开放、极简的 web 开发框架。
    • Koa koa 是由 Express 原班人马打造的,致力于成为一个更小、更富有表现力、更健壮的 Web 框架。
    • egg 阿里开源的企业级 Node.js 框架,号称为企业级框架和应用而生。
    • ThinkJS 一款可以使用 ES6/7 特性开发项目的 Node.js 框架,使用 async/await 或者 */yield 彻底解决异步回调的问题,同时支持 TypeScript。
    • Derby 是一个MVC框架,帮助编写实时,交互的应用。可以运行在Node.js或者浏览器环境中。还拥有一个数据同步引擎Racer。
    • Sails.js 可以很容易地开发定制的,企业级的和现代的 Node.js 应用程序,也适合于开发图表、仪表盘和游戏。
    • Total.js 另一个伟大的 Node.js 框架,帮助创建网页和网络应用程序,还支持 MVC 架构。这是一个开源的现代框架,使用 HTML,JavaScript 和 CSS 建设网站。
    • Locomotive 支持 MVC 模式,REST 风格的路由也是基于 Express 构建的。
    • Socketstream 具有快速和模块化的特性,致力于打造实时的单页面应用程序。
    • Geddy 是一款简单,结构化和原始的 Node.js MVC 开发框架,用于构建高级 WEB 应用程序,它还拥有一个 RESTful 的路由、模板渲染、控制器和模型。
    • Grasshopper 一款功能丰富且非常灵活的Node.js框架,基本上支持所有的Web开发特性。GitHub
    • Chocolate.js 是一个实验性的全栈 Node.js 框架,基于它可以使用 CoffeeScript
      语言建立 WEB App。
    • CompoundJS 是一个 Node.js 的 MVC 框架,开发者使用它在几分钟内即可构建一款 Web 应用。
    • partial.js
    • flatiron
    • Express-IO
    • Datachannel.io
    • Chair 支付宝前端团队推出的,基于Node.js的Web框架,适用于大部分的Web应用。

    前端框架

    • NervJS 京东凹凸实验室开发的一款兼容 IE8 的轻量级前端框架,推荐 typescript 语法;
    • Vue.js 国人开发渐进式 JavaScript 框架,小巧而灵活的同时保留其他框架的优势,是目前最受欢迎的框架;
    • AngularJS 诞生于2009年,核心功能:MVC、模块化、自动化双向数据绑定、语义化标签、依赖注入等等。
    • React 起源于 Facebook 的内部项目,其性能出众,代码逻辑简单,越来越多的人开始关注和使用,并认为它可能是将来 Web 开发的主流工具。
    • Primus Transformer 的创造者,并且也被称为通用包装器实时框架;Primus 里包含了大量的用于 Node.js 的实时框架,并且它们都拥有各种不同的实时功能。此外,Primus 还提供了通用的低级别接口用于各个实时框架之间进行通信。
    • DozerJS 一款旨在开发可扩展的 RESTful 风格的 API 和 Web 服务来支持前端开发。
    • KnockoutJS 是一个轻量级的UI类库,通过应用MVVM模式使JavaScript前端UI简单化。比如列表数据项增减后,不需要重新刷新整个控件片段或自己写JS增删节点,只要预先定义模板和符合其语法定义的属性即可。

    工具库

    • lodash 一个具有一致接口、模块化、高性能等特性的 JavaScript 工具库。
    • Dojo Toolkit 是一款功能非常强大的 JavaScript 类库,可以实现任何功能。

    Build 打包编译

    本部收录一些可以将 HTML 编译为 Desktop app 或 Mobile app 的工具。

    • Cordova 📱其主要用于构建移动应用。Cordova 提供了一组设备相关的API,通过这组API,移动应用能够以JavaScript访问原生的设备功能,如摄像头、麦克风等。Cordova还提供了一组统一的JavaScript类库,以及为这些类库所用的设备相关的原生后台代码。支持主流的移动擦操作系统。
    • Electron 🖥 提供了丰富的本地(操作系统)的API,使你能够使用纯 JavaScript 来创建桌面应用程序。与其它各种的 Node.js 运行时不同的是 Electron 专注于桌面应用程序而不是Web服务器。
    • PhoneGap 📱允许你利用现有的 Web 开发技术快速开发混合手机应用程序,如,HTML、CSS 和 JavaScript。
    • Appcelerator 🖥 📱是一个开源的应用开发平台,它允许你使用像 HTML,JavaScript 和 CSS 这样的web技术来创建原生应用(移动应用和桌面应用)。
    • React Native 📱结合了 Web 应用和 Native 应用的优势,可以使用 JavaScript 来开发 iOS 和 Android 原生应用。在 JavaScript 中用 React 抽象操作系统原生的 UI 组件,代替 DOM 元素来渲染等。
    • Xamarin 📱始创于2011年,旨在使移动开发变得难以置信地迅捷和简单。Xamarin的产品简化了针对多种平台的应用开发,包括iOS和 Android。Xamarin由许多著名的开源社区开发者创立和参与,而且也是Mono项目的主导者——C#与.NET框架的开源、跨平台实现。
    • Meteor📱是另一个开发交互式移动应用的 JavaScript 框架。Meteor 不仅能让你用 JavaScript 开发移动应用,还能让持续控制应用。在这个特性下,你可以更新 JavaScript 代码,并通过实时代码推送功能将其立即发布给所有移动平台的用户,而这一切都可以不需要开发者支持。
    • NativeScript 🖥 📱是 Telerik 发明的从单一的源代码构建多平台的本地移动应用程序工具集。NativeScript 网站和 GitHub 页面描述运行时使开发人员能够利用 JavaScript 和 TypeScript(甚至Angular 2.0)来为安卓、iOS、构建本地应用程序,并提供代码平台。
    • Ratchet 📱是顶级 JavaScript 框架的另一个主要元素,用来开发移动应用程序。它旨在为开发人员和设计人员提供了一个框架来构建移动 web 应用程序。该框架是由为我们带来 Bootstrap 的同一个团队创造,以确保 Ratchet 高质量。不管你想要的目标是 Android,iOS,或两者兼而有之,Ratchet 2.x 都能帮你实现
    • AppMeme 🖥

    Template Engine 模板引擎

    • jade 一个高性能的模板引擎,它深受 Haml 影响,它是用 JavaScript 实现的,并且可以供 Node 使用。
    • ejs 用来从 JSON 数据中生成 HTML 字符串。
    • doT 特点是快、小,无依赖其他插件。GitHub
    • swig 一个优秀简洁的模板引擎,类似 Python 模板引擎 Jinja, 目前不仅在 node 端较为通用, 在浏览器端也可以很好地运行。GitHub
    • dust.js 一个 JS 异步模板引擎,可用于浏览器和 Node.js 环境,同时支持客户端和服务端渲染,模版编译成JS后使用,性能好。
    • Handlebars.js 语义模板库,通过对 view 和 data 的分离来快速构建 Web 模板。

    CSS Preprocessor CSS预处理器

    关于 CSS 预处理器的解释:http://www.w3cplus.com/css/css-preprocessor-sass-vs-less-stylus-2.html

    • less 现在最为流行的CSS预处理器之一,Sass强有力的竞争者。
    • sass 已经有 8 年的开源历史项目,可以说他定义了现代 CSS 预处理器也不为过。
    • stylus 是功能丰富的 CSS 扩展,有 60 多种自定义函数,包括saturation(),可以推算适配 CSS 饱和颜色。
    • Turbine 如果你是一个 PHP 爱好者,那么 Turbine 非常适合你,很简单的语法、自动 gzip 多个 css 文件,修复了跨浏览器的问题等等。
    • CSS-Crush
    • Myth
    • rework
    • CSS Cacheer 可让开发人员创建 CSS 插件,要求 PHP 和 apache 的 mod_deflate 和 mod_rewrite 模块。
    • DtCSS 是一个 PHP 脚本,用来对 CSS 文件进行预处理。DtCSS 可通过扩展 CSS 的特性来加速 CSS 编码。例如嵌套选择器、颜色混合等等。DtCSS 读取 CSS 文件并对特殊语法进行处理,然后输出标准 CSS。DtCSS 包含一个智能的缓存系统。
    • CSS PP 提供 PHP、Python 和 Ruby 的版本

    Responsive UI Framework 响应式 UI 框架

    • AT UI 京东凹凸实验室开发的一款轻量级、模块化的前端 UI 组件库;
    • bootstrap 简洁、直观、强悍的前端开发框架,让 WEB 开发更迅速、简单;
    • bootstrap Vue 基于 Vue.js 2 的 Bootstrap 4组件;
    • Flat UI 基于 bootstrap 3.2 美化的免费 WEB 界面工具组件库;
    • Material UI 实现 Material Design 的响应式组件系统;
    • UIKit 一款轻量级、模块化的前端框架,用于开发快速且强大的 Web 界面;
    • Amaze UI 是一个轻量级、 Mobile first 的前端框架, 基于开源社区流行前端框架编写的;
    • Muse 基于 Vue 2.0 和 Material Design 的 UI 组件库
    • Semantic UI 完全语义化的前端界面开发框架
    • Element 网站快速成型工具
    • iView 一套基于 Vue.js 的高质量 UI 组件库
    • ZUI 一个基于 Bootstrap 深度定制开源前端实践方案,帮助你快速构建现代跨屏应用。
    • Pure CSS 一组小的、响应式CSS模块,可用于任意Web项目中。
    • Gumby Framework 允许用户自主快速的开发扩展 Gumby,同时提供很多新的工具来自定义和扩展 Gumby 框架
    • Foundation 一个易用、强大而且灵活的框架,用于构建基于任何设备上的Web应用。提供多种Web上的UI 组件,如表单、按钮、 标签等。
    • Kube 足够的简单,足够小,具有很强的自适应能力,是个响应式的 CSS 框架
    • H-ui 轻量级前端框架,简单免费,兼容性好。
    • Layui 一款采用自身模块规范编写的国产前端 UI 框架,遵循原生HTML/CSS/JS的书写与组织形式,组件丰盈,非常适合界面的快速开发。
    • SUI 是一套基于bootstrap开发的前端组件库,同时她也是一套设计规范。
    • MZUI 📱 为移动端设计,基于 Flex 的 UI 框架。
    • WeUI 📱 是一套同微信原生视觉体验一致的基础样式库,由微信官方设计团队为微信内网页和微信小程序量身设计,令用户的使用感知更加统一。
    • VUX 📱 是基于 WeUI 和 Vue(2.x) 开发的移动端 UI 组件库,主要服务于微信页面。
    • FrozeUI 📱一个开源的简单易用,轻量快捷的移动端UI框架。基于手 Q 样式规范,选取最常用的组件,做成手 Q 公用离线包减少请求,升级方式友好,文档完善,目前全面应用在腾讯手Q增值业务中。
    • YDUI Touch📱 专为移动端打造,在技术实现、交互设计上兼容主流移动设备,保证代码轻、性能高;使用 Flex 技术,灵活自如地对齐、收缩、扩展元素,轻松搞定移动页面布局;实现强大的屏幕适配布局,等比例适配所有屏幕。
    • AlloyUI 是基于YUI 3的前段UI框架,包含一套丰富的(超过60)UI 部件,如图片库,对话框,树形结构,面板,自动完成,按钮,日历控件,工具条等。
    • 拼图 优秀的国产响应式css开源框架,自动适应手机,平板,电脑
    • EasyUI 帮助你快速构建 WEB 应用的前端框架
    • J-UI 国产的 jQuery UI 富客户端框架
    • LingerUI 国产前端框架
    • BUI
    • kissy An Enjoyable UI Library

    Editor 编辑器

    • markdown 一个 markdown 解析包。NPM
    • simditor Simditor 是团队协作工具 Tower 使用的富文本编辑器。功能精简,加载快速。GitHub
    • editor.md 一个基于jQuery和CodeMirror构建的在线Markdown文档编辑器,支持实时预览和多语言语法高亮,兼容主流的浏览器(IE8+),且支持iPad等平板设备,支持流程图 flowchart 和时序图 sequenceDiagram。GitHub
    • CFEditor 这是 classfoo 全站所使用的所见即所得富编辑器,其使用 BootStrap 3.x 样式,最低支持 IE 8。
    • CKEditor 新一代的 FCKeditor,是一个重新开发的版本。
    • ueditor 百度研发,功能强大,兼容性强,配置项丰富,界面美观。
    • kindeditor 老牌可视化编辑器,体积相对较小,个性化简单,兼容IE、Firefox、Chrome、Safari、Opera等主流浏览器。
    • tinymce 灵活的配置。
    • Summernote 是一款轻量的 Bootstrap 编辑器,压缩后实际大小为 58KB,最低支持为 IE 9。
    • wangEditor
    • bootstrap-wysiwyg

    Chart 图表

    • echarts 百度开发,功能强大,中文文档丰富
    • Chart.js 口碑很好的图表插件,功能强大
    • c3 GitHub
    • Chartkick

    Syntax Highlighter 语法高亮

    Database 数据库

    该部收录的均为 NPM 提供的数据库操作模块。

    • mysql NPM
    • mongoose NPM
    • sqlite NPM,一款轻型的数据库,是遵守 ACID 的关系型数据库管理系统,它包含在一个相对小的C库中。
    • redis NPM,一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
    • Lowdb NPM,一个基于 loadsh API 的小型本地数据库。

    Status & Storge 状态和存储

    • storge-js NPM
    • cookie NPM
    • session NPM
    • cookie-parser NPM
    • cookie-session 会序列化整个的会话信息到 cookie 中,对于浏览器一般会有 cookie
      的大小限制,所以使用它的时候要注意不要存储的数据太大,超过了限制。
    • express-session 会将数据保存在服务器端,而且仅仅会在 cookie 中保存会话的 id,默认使用内存保存。
    • koa-session NPM

    Security 安全

    • Helmet 可以帮助你的app抵御一些比较常见的 WEB 安全隐患,它其实是将多个安全中间件集中到了一起,大部分都是对于 HTTP Header 的操作。

    Task 任务

    Test 测试

    • Mocha 诞生于 2011 年,是现在最流行的 JavaScript 测试框架之一,在浏览器和 Node 环境都可以使用。
    • tape 是 substack 写的测试框架,核心价值观是”Tests are code”,所以你可以像代码一样跑测试。
    • Jasmine 不依赖于任何框架,所以适用于所有的Javascript代码。
    • Qunit
    • istanbul 用于生成测试覆盖率报告。

    NPM 中有意思的包

    • waveform-data 读取音频文件,生成波形图;
    • lunar-calendar 传入日期,即可获取较为详细的农历数据,其中还包含了节日和节气数据,很方便;
    • qrcode.vue 比较好用的二维码 Vue 组件;
    • vue-waterfall 比较好用的瀑布流 Vue 组件;

    那些看上去短小精悍的代码,可能危机重重 —— 注重代码排版是一种修养!

    以上内容为本人汇总备查,大部分资源翻译参考或来自网络,感谢原作者!整理时间有限,手头项目也没有完全覆盖,有增补内容可以留言给我,3Q。

    相关文章

      网友评论

        本文标题:Node.js 常用工具、依赖和插件

        本文链接:https://www.haomeiwen.com/subject/gygqcxtx.html