当前位置: 首页 > 后端技术 > Node.js

选择node.js的Web开发框架?

时间:2023-04-04 01:15:16 Node.js

传送门:学好node.js服务开发就够了这个系列文章在其他后端开发领域好像是没有的。没错,我说的是隔壁的Java。如果我写java应用,我可以毫不犹豫的选择Spring。但是节点有很多选择。现有的节点服务器框架1.Express和Koaexpress框架不用说了,写节点服务的同学一定对框架非常熟悉。我早期也是express的粉丝。优点:express的框架结构非常简单。经过短暂的学习,它可以用来开发一个项目。非常适合作为node新手的入门框架。缺点:开发阶段:Express的缺点也很明显,结构简单,自由度高。每个人都会有不同的文件组织方式。在设计初期,需要人工完成项目协议。但是新人来到团队,又要重新学习项目协议,无形中增加了学习成本。归根结底,该项目仍然缺乏工程约束。在项目开发的前期,需要手动搭建一些通用的脚手架代码,方便后续的开发工作。开发过程将需要很长时间。运维阶段:由于node单进程,js主线程运行的机制。如果在js主线程中没有做好错误处理。导致进程意外退出的问题。这是项目运营阶段不能接受的问题。需要进程保护机制来保证程序的健壮性。Express和Koa需要依赖第三方工具来实现。比如PM2.5。按理说,这些功能应该是一个web开发框架应该具备的基本功能。总结:无论是Express还是Koa框架。它仍然是基于http模块的一个相对简单的包。在Reuest和Response这两个对象的基础上进行扩展开发。我们的业务开发团队需要的是一个稳定快速的开发框架。在实际开发中,往往需要在Express、Koa的基础上封装大量代码以适应不同的业务场景,这对于追求快速发展的互联网行业来说并不受欢迎。2.Egg.js2018年3月开始接触egg框架,发现这是一个功能比较齐全的web开发框架。优点:方便,容易上手,少写很多脚手架级别的代码。专注于业务逻辑的开发。内置插件机制,兼容koa插件。约定大于配置。内置多进程管理。阿里巴巴开源。文档是中文的。估计不容易被虐的同学一般会选择文档的母语版本来阅读。缺点:因为目前使用的层次还不够深入。除了对应用配置方式不满意外,没有发现重大的开发痛点。经过项目开发实践,开发效率高。总结:估计写到这里,应该能看出我对egg框架的喜爱程度吧。因此,让我们学习如何开始使用鸡蛋。