论文部分内容阅读
随着互联网技术的发展,人们对互联网的依赖越来越强,对网站交互要求也越来越高。这导致前端应用复杂度大大提高,同时网站前端规模不断扩大,造成代码难以维护及难以扩展,因此,前端模块化是前端开发的一个必经之路。但是当前前端技术领域中模块化实现还略有不足,主要体现在前端模块化方面缺少统一的解决方案。由于前端由结构层、展示层及行为层三部分组成,模块化方案需要三部分的协同配合才能完成,目前比较普及的是JavaScript模块化,而页面层面的模块化开发表现较弱,需要相应有效的解决方案来解决以上问题。与此同时,前端模板技术的出现并不能实现页面模块化开发的需求,这需要开发者重新对开发流程进行分析优化。针对上述问题,本文提出了基于模块化的前端应用框架,并将其应用到大数据平台中。本文主要研究内容包括:(1)在页面模块化开发方面,首先研究前端模板编译相关理论技术,主要研究JavaScript前端模板引擎具体原理,并根据现有模板技术对比,总结模板引擎的现有问题,归纳总结得出系统模板引擎所采用的技术,并优化编译速度;然后研究预编译模板相关理论技术,结合Node.js技术,从页面高度模块化的角度,参考后端模板思路,设计预编译模板功能,设计抽象语法树(AST)合成技术,并进行技术实现。(2)在自动化实现方面,设计前端开发框架的总体架构,研究自动化技术,从自动化的角度来研究工具功能性需求,设计自动化功能架构,并基于页面模块化开发中页面预编译模板引擎NSMOD(Node-Smarty Modular Engine),实现最终自动化框架。(3)将框架应用于具体网站进行验证,木文将框架运用到实验室大数据业务洞察库与移动互联网用户分析系统中,并通过具体实践来分析本文所提出框架的有效性,进行实验性验证。根据对相关技术研究所取得的解决方案,本文首先实现了页面模块化工具,提出了页面预编译模板引擎NSMOD及前端模板template.js,实现将静态页面进行模块拆分、分析模块依赖和模块加载的功能,并通过实验验证了工具的有效性;基于以上解决方案,结合自动化技术,本文完成了自动化工具NSMAT(NSMOD Automation Tool)的开发,该工具结合页面模块化开发工具,提出了文件分析、文件编译、文件导出等功能,为前端开发者模块化开发提供了工程化支持,实现模块的独立和耦合,节约了人力,同时为前端模块化开发提供了一套解决方案。