node.js之十大Web框架

以前接触过Node.js是由于好奇大前端愈来愈能干了,连我后台的饭碗都要抢了,太嚣张了,因而我想打压打压它,而后就这样接触它了。
再到后来是由于Settings-Sync插件二次开发,我须要用node.js造一个mock server,而当时在开源项目上找到一个模拟github rest api的node.js服务端程序,而后我就在此基础上开发。从工做中学习有应用场景有目的性,果真仍是学的要快不少。javascript

今天之因此要说一说node.js的十大Web框架,主要是以为之后针对VsCode开发或者是我本身的项目,用Node.js可能会比较多,好比我将个人博客系统一步一步完善,我想尝试微服务的不少种实践方式,其实不少企业用微服务,还有一个缘由就是不受编程语言的制约。html

大前提:框架无优劣之分,只有在某个应用场景是否更适合和更好。前端

1、Node.js开发框架Sail.js

Sail.js官网地址为:https://sailsjs.com/
github地址:https://github.com/balderdashy/sailsjava

Sails能够轻松构建自定义的企业级Node.js应用程序node

在几周内而不是几个月内构建实用的,生产就绪的Node.js应用程序。Sails是Node.js最流行的MVC框架,旨在模拟Ruby on Rails等框架的熟悉MVC模式,但支持现代应用程序的需求:具备可扩展性,面向服务的体系结构的数据驱动API。git

优势以下:
(1)100%JavaScript
在Sails自上构建意味着你的应用程序彻底使用JavaScript编写,从这里能够看出浏览器兼容性良好;
(2)任何数据库
Sails捆绑了一个功能强大的ORM,即Waterline,它提供了一个简单的数据访问层,不管你使用什么数据库,它都能正常工做;
(3)自动生成的Rest API
Sails附带的蓝图有助于在不编写任何代码的状况下快速启动应用程序的后端;
(4)前端不可知
Sails与任何前端兼容:Angular、React、IOS、Android、Windows Phone,自定义硬件或其余彻底兼容;
(5)轻松WebSocket集成
因为Sails会为您转换传入的套接字消息,所以它们会自动与Sails应用中的每一个路由兼容;
(6)专业支持
Sails提供商业支持,以加速开发并确保代码职工的最佳实践;github

2、Node.js服务端框架 Hapi.js

官网地址为:https://hapijs.com/web

如何建立一个Hapi.js?请参考以下步骤(均来自官网示例):
1.初始化数据库

npm init

2.安装库express

npm install hapi --save

3.编写js

'use strict';

const Hapi=require('hapi');

// Create a server with a host and port
const server=Hapi.server({
    host:'localhost',
    port:8000
});

// Add the route
server.route({
    method:'GET',
    path:'/hello',
    handler:function(request,h) {

        return'hello world';
    }
});

// Start the server
const start =  async function() {

    try {
        await server.start();
    }
    catch (err) {
        console.log(err);
        process.exit(1);
    }

    console.log('Server running at:', server.info.uri);
};

start();

4.运行

npm start

3、Node.js 高性能封装 Express.js

关于这个能够参考个人这篇博客:https://developers-youcong.github.io/2019/02/22/node-js%E4%B9%8Bexpress%E6%A1%86%E6%9E%B6/

4、Node.js Web框架 Kraken.js

Kraken 基于 express 构建,实现对环境变量的感知、动态配置、高级中间件和应用生命周期的事件通知。

官网地址为:http://krakenjs.com/

示例例子:

'use strict';

var express = require('express'),
    kraken = require('kraken-js');

var app = express();
app.use(kraken());
app.listen(8000);

5、Web应用构建平台 Meteor

Meteor是一组新的技术用于构建高质量的Web应用,提供不少现成的包,可直接在浏览器或者云平台运行。
官网地址为:https://www.meteor.com/

优势以下:
(1)使用更少的代码运送更多
因为集成的JS堆栈从数据库扩展到最终用户的屏幕,所以能够在10行中完成1000行.

(2)为任何设备构建应用程序
不管是针对Web、IOS、Android仍是桌面进行开发,都使用相同的代码。热门推送新功能,无需应用商店批准或者强制用户下载新的原生应用.

(3)集成已有的技术
使用流行的框架和工具,开箱即用。专一于构建功能,而不是本身将不一样的组件链接在一块儿。

6、全栈JavaScript 开发架构 Mean.js

官网地址为:http://meanjs.org/

1.什么是Mean.js

MEAN.JS是一个全栈JavaScript的解决方案,可帮助您使用MongoDB、Express、Angular和Node.js构建快速,健壮且可维护的生产Web应用程序.

2.为什么选择Mean.js
Mean.js将帮助你入门并避免无用的笨拙工做和常见陷阱,同时保持你的应用程序井井有理。咱们目标是建立和维护一个简单易读的开源解决方案,你可使用它并信任它。

3.入门
入门请参考官方文档:http://meanjs.org/docs.html

7、Node.js的Web框架 Koa.js

Koa是下一代的Node.js的Web框架。由Express团队设计。旨在提供一个更小型、更富有表现力、更可靠的Web应用和API的开发基础。
Koa能够经过生成器摆脱回调,极大地改进错误处理。Koa核心不绑定任何中间件,但提供了优雅的一组能够快速愉悦地编写服务器应用的方法。
关于koa可参考:https://www.npmjs.com/package/koa

8、Node.js CMS 和 Web 应用程序平台 KeystoneJS

KeystoneJS,以 Express 和 MongoDB 为基础搭建的 Node.js CMS 和 Web 应用程序平台。

官网地址为:https://keystonejs.com/

具备如下特性:

Express.js 和 MongoDB:Keystone 会为你配置 express(node.js 上的 Web 服务器),用 Mongoose(领先的 ODM 包)链接你的 MongoDB 数据库

动态路由:Keystone 从设置 MV* 程序的最佳实践入手,让你管理模板、视图和路由变得更容易

数据库域:ID、String、Boolean、Date 和 Number 是数据库的构件。Keystone 以它们为基础实现了在现实工做中更实用的域类型,好比 name、email、password、address、image 和 relationship (及其它)

自动生成管理员界面:无论你在搭建应用程序,或者在生产环境中做为数据库内容管理系统时是否用它,Keystone 的管理员界面都能节省你的时间,让你管理数据更容易

编码更简单:有时即使作的事情简单,异步代码也会变得复杂。Keystone让简单的事情(好比在视图中显示以前加载数据)保持简单

表单处理:要验证表单、上次图片或用一行代码更新数据库?基于你已经定义的数据模型,Keystone 能够作到

会话管理:Keystone 自带了会话管理和认证功能,包括密码域的自动加密

发送 Email:借助 Keystone,你的应用程序能够轻松地设置、预览和发送基于模板的 email。它还集成了 Mandrill (Mailchimp 卓越的事务性 email 发送服务)

9、Node.js 框架组件 flatiron.js

flatiron 是一款 Node.js 和浏览器的框架组件,是一款构建现代化 web 应用适应性很强的框架。flatiron 提供比 Rails 类组件有更丰富配置的框架组件,容许开发者本身添加他们想要的功能组件。
可参考地址为:https://www.npmjs.com/package/flatiron

10、基于 Node.js 的 API 框架 LoopBack

LoopBack 是基于 Node.js 的一个开源的 API 框架,可让 Node.js 应用方便的跟各类设备经过 API 进行互联。
可参考地址为:https://loopback.io/

本文主要参考除引入的官网外还参考Node.js十大Web框架

相关文章
相关标签/搜索