基于Node.js的Web应用框架研究与实现

来源 :安徽工业大学 | 被引量 : 0次 | 上传用户:boysunshine20xy
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件框架是软件开发中的基础设施,成熟的软件框架可以加快软件开发速度、提高软件质量、降低软件开发成本。传统的基于Java、C#等语言开发的Web应用框架,使用前后端高度耦合的开发方式,且在服务端编程方式以及部署方案上的低效严重制约了Web应用的性能提升与开发效率,而依托于Google V8引擎的Node.js由于其事件驱动以及非阻塞I/O的特性使其在Web应用开发中有了不可或缺的地位,因此开发一套新型的Web应用框架以提高软件开发的效率则显得极为重要。本文结合某公司现行Web应用开发框架中的不足之处与对新框架的需求,设计并实现了一种基于Node.js的Web应用开发框架。具体而言,本文的工作主要体现在以下几个方面:(1)采用前后端分离开发代替传统的高耦合式开发。传统的Web开发偏向于使用模板引擎来渲染页面,这种方法虽然有益于搜索引擎优化SEO(Search Engine Optimization),但在如今多种前端框架的高效率开发下,后端渲染导致的高耦合成为了前后端协同开发中倍受诟病的地方,本文所开发的Web应用框架则以前后端分离代替传统的后端渲染,并在此基础上使用React开发本Web应用框架中的前台管理系统部分。(2)以扩展中间件形式对Koa进行二次开发。基于Node.js的Koa是本应用框架的基础Web框架,Koa本身功能较为基础和有限,本应用框架选择以扩展中间件的形式对Koa进行二次开发以实现框架的服务端功能需求。在服务端应用程序接口API(Application Programming Interface)的风格设计上,本应用框架选择RESTful作为设计规范,并包含了一套基于角色的权限管理模块以及用于解决多种数据库访问异构问题的对象关系映射ORM(Object Relational Mapping)模块,对于开发中的异常处理、错误码信息以及日志记录模块同样也囊括在本Web应用框架中。(3)改变前端与服务端部署方式。服务端与前端的部署稍有不同,前端文件及静态资源自动化打包上传至内容分发网络CDN(Content Delivery Network)上,以提高访问速度,减缓服务器访问压力,而服务端程序则以集群的方式部署在服务器上,通过基于Node.js中cluster模块的pm2实现多进程部署以提高资源利用率与访问效率。(4)通过在企业网络培训系统中的应用来检验本Web应用框架的实用性。
其他文献
期刊
在产教融合的大背景下,会计专业课程要从过去单一的课堂教学转向校企合作模式下的理论与实践相结合的教学,促进课程与职业标准、行业标准和岗位规范的对接;同时,在职业院校技能大
目前的建筑业呈现2个比较明显的特征,一是高层建筑越来越多,二是建筑工期要求越来越短.为了满足这种社会需求,日本某建筑公司开发了一种适用于高层建筑工地的物料搬运系统Sma
通过对目前市场上用于中深孔大口径施工的几款国内外全液压顶驱车载钻机和转盘钻机相比较,分析了不同钻机的优劣,从钻机功能要素、施工条件、运输、设备价格等方面,找出目前
刑法修正案(九)增加了相关规定,打击了代替考试行为,无疑是开启了中国刑法规制代替考试行为的先河。然而替考入刑一直备受争议,一种观点为刑法规制代替考试行为有利于建设诚
针对目前光伏微型逆变器只具备单一并网发电功能、利用率低下以及单相有源滤波器成本较高的不足,结合光伏微型逆变器和单相电流型有源滤波器的运行特点、结构和控制原理,提出了
黄河,中国古代称河,发源于中国青海省巴颜喀拉山脉,流经青海、四川、甘肃、宁夏、内蒙古、陕西、山西、河南、山东9个省区,最后于山东省东营市垦利县注入渤海,全长5464公里,是中国
基于家电负荷在稳态工作时电流具有线性叠加的特点,提出一种基于家电负荷稳态基波电流和谐波电流为负荷特征量的非侵入式家电负荷分解算法。通过将一家电负荷的任一工作状态
电气工程作为建筑工程中非常重要的组成部分,建筑电气安装具有较强的技术性,而且施工工艺较为复杂,因此需要控制好建筑电气安装质量,针对建筑电气安装中常见的问题采取有效措
目的:探讨18F-FDG PET/CT多种参数对肺癌淋巴结转移的诊断价值及意义。方法:回顾性分析2012年6月—2017年6月183例(男101例,女82例,年龄36~84岁)肺癌初诊患者,所有患者PET/CT