Node.js系统包含多种不同的结构,如MVC、全栈、RESTAPI和生成器。这些结构不仅提高了Web应用程序的开发效率,而且优化了开发过程。在这里,我们收集了十个高效的Node.js框架,希望能对你有所帮助。一、Node.js开发框架Sail.jsSails.js就像是Node.js平台上的Rails框架。这是一个可靠且可扩展的开发框架,具有面向服务的架构,可提供数据驱动的API集合。非常方便开发多人游戏、聊天应用和实时面板参考,也可用于开发企业级Node.js应用。Sails.js建立在Node.js、Connect、Express和Socket.io之上。控制器示例代码:module.exports={hi:function(req,res){returnres.send("Hithere!");},bye:function(req,res){returnres.redirect("http://www.OSChina.net");}};2.Node.js服务器端框架Hapi.jsHapi.js是一个丰富的框架,用于构建基于Node.js的应用程序和服务,使开发人员能够专注于可移植性和可重用性应用程序逻辑,而不是构建架构。内置输入验证、缓存、身份验证和Web应用程序开发中常用的其他功能。示例代码:varHapi=require('hapi');//Createaserverwithahostandportvarserver=newHapi.Server('localhost',8000);//Addtherouteserver.route({method:'GET',path:'/hello',handler:function(request,reply){reply('helloworld');}});//启动服务器server.start();3.Node.js高性能封装Express.jsExpress是一个简单灵活的Node.jsWeb应用框架,它提供了一系列强大的功能帮助你创建各种Web应用。Express并没有对Node.js已有的特性进行重新抽象,我们只是在其之上扩展了Web应用所需的功能。Connect框架中丰富的HTTP工具和中间件随时可用,可以快速轻松地创建强大且友好的API。示例代码:varexpress=require('express')varapp=express()app.get('/',function(req,res){res.send('HelloWorld')})app.listen(3000)4、Node.jsweb框架Kraken.jsKraken是在express的基础上构建的,实现了应用生命周期的环境变量感知、动态配置、高级中间件和事件通知。基本用法:'usestrict';varexpress=require('express'),kraken=require('kraken-js');varapp=express();app.use(kraken());app.listen(8000);5、Web应用构建平台MeteorMeteor是一套用于构建高质量Web应用的新技术,提供了许多现成的包,可以直接在浏览器或云平台上运行。6、全栈Javascript开发架构Mean.js是一个全栈Javascript开发架构,它的名字来源于:MongoDB、Express、Angular、Node。使用方法:$sudonpminstall-gmean-cli$meaninityyourNewApp7、Node.jsweb框架Koa.jsKoa是下一代Node.jsweb框架。由Express团队设计。旨在为开发更小、更具表现力和更可靠的Web应用程序和API提供基础。Koa可以通过生成器摆脱回调,从而大大改进错误处理。Koa核心不与任何中间件捆绑在一起,但提供了一套优雅的方法,使编写服务器应用程序变得快速而愉快。示例代码:varkoa=require('koa');varapp=koa();//loggerapp.use(function*(next){varstart=newDate;yieldnext;varms=newDate-start;console.log('%s%s-%s',this.method,this.url,ms);});//responseapp.use(function*(){this.body='HelloWorld';});app.listen(3000);8、Node.jsCMS和Web应用平台KeystoneJSKeystoneJS,一个基于Express和MongoDB的Node.jsCMS和Web应用平台。具有以下功能:Express.js和MongoDB:Keystone将为您配置express(node.js上的Web服务器),使用Mongoose(领先的ODM包)连接到您的MongoDB数据库**从实践开始,让您更轻松管理模板、视图和路由。数据库字段:ID、String、Boolean、Date和Number是数据库的组成部分。基于它们,Keystone在实际工作中实现了更多实用的域类型,例如名称、电子邮件、密码、地址、图像和关系(以及其他)自动生成管理员界面:无论您是在构建应用程序,还是在生产环境中无论您无论是否将其用作数据库内容管理系统,Keystone的管理界面都可以节省您的时间并使您的数据管理更加轻松。更易于编码:有时异步代码即使在做简单的事情时也会变得复杂。Keystone使简单的事情(如在视图中显示数据之前加载数据)保持简单的表单处理:想要验证表单、更新图像或更新数据库,只需一行代码?基于您定义的数据模型,Keystone可以进行会话管理:KeystoneBuilt-insessionmanagementandauthentication,includingautomaticencryptionofpasswordfieldsEmailsending:WithKeystone,yourapplicationcaneasilysetup,previewandsendtemplate-based电子邮件。它还集成了Mandrill(Mailchimp优秀的事务性电子邮件发送服务)9.Node.js框架组件flatiron.jsflatiron是一个面向Node.js和浏览器的框架组件,是一个构建现代Web应用程序框架的高适应性框架。flatiron提供了比Rails类组件更丰富配置的框架组件,允许开发者添加他们想要的功能组件。10、基于Node.js的API框架LoopBackLoopBack是一个基于Node.js的开源API框架,可以让Node.js应用通过API方便的连接各种设备。
