中小型规划项目方案计划前端架构.docx

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
中小型规划项目方案计划前端架构 中小型规划项目方案计划前端架构 PAGE PAGE / NUMPAGESPAGE20 中小型规划项目方案计划前端架构 PAGE ,. 中小型项目前端架构 ,. 一、为何要有一个好的架构 第一明确一点, 架构是为需求服务的。前端架构存在的目的,就我个人理解来说,有以下几点: 提高代码的可读性 一个好的架构,代码的可读性必定是很强的。 简单来说,若是有一个新人加入团队,那么他接手这个项目,必定是简单上手的,能简单轻松的认识整个前端 部分的互相关系,进而找到自己需要要点关注的点。而不是需要花好多时间去熟习这个项目的好多细节,才能 开始上手做东西。 就文件来说,能够从文件名上,分清哪些是页面、哪些是逻辑、哪些是款式、哪些是能够复用的组件、哪些是 图标组、又有哪些是挪动端或是 PC端专享的款式 /逻辑等。 就代码来说,包含一致的命名风格,封装在同一个文件里的代码的有关性足够强等。 提高代码的可保护性 ,. 一个好的架构,必定是易于保护的,比如在新增需求、改正需求、修正 bug,都不会造成预料以外的变化,比 如说改正了一个页面组件的内容,却致使此外一个页面组件发生变化(这也太坑了)。所以,要低耦合,高内 聚,以及输入和输出是可预期的。 提高代码的可扩展性 一个好的架构,必定扩展性要强,不可以写死。 需求改正太 TM正常了,新增需求也太 TM正常了。所以好的架构,一定要考虑到这些状况的发生,因为这些 是必定会发生的。所以,必定要防止把代码写死。 比方页面组件A里需要有一个日历组件,而这个日历组件引用的是他人的(比方从量不要直接在页面组件A里面直接引用这个日历组件,而是将写一个日历组件引用的日历组件C,而后经过这个日历组件B来进行操作。  github 上找的)。那么尽 B,在这个日历组件 B里封装你 原由很简单,若是某天产品经理说,这个日历组件太丑了,我们换一个吧。假如你直接在页面组件 个引用的日历组件 C,你很可能就要改好多代码(因为不一样日历组件的使用方法和裸露的接口可能不一样)。假 如你还在其余多个地方引用了这个日历组件,那就更糟糕了!每个地方都要改。  A里内嵌这 ,. 而若是将引用的日历组件C封装到自己写的日历组件B之中,那么你只要要他日历组件而因为日历组件B裸露的接口是不变的,那么自然不用改正页面中的代码了。  B里的相应代码即可, 附图,以日历组件为例,能否考虑到扩展性的结果 未考虑到扩展性: ,. 考虑到扩展性: 便于共同 包含前端和后端的共同,前端和前端之间的共同。 详细来说,前后端的共同往常是以 ajax为交互,那么应起码有一个用于特意封装了全部 ajax恳求的文件,所 有ajax恳求都封装在这里。在开发时,这里封装的方法应当能够模拟发送和接收商定好的交互内容,方便开发联调。 ,. 而前端和前端的共同,主要表此刻同时在改正代码时,不会影响对方代码的正常运转。所以要求封装、解耦以 及低扰乱度是一定的。 自动化 自动打包,压缩,混杂,假若有必需,再加上自动单元测试。 总结:总结来说,一个好的架构的目的是,让前端写代码写的舒畅,让后端联调的舒畅,让产品经理改需求改 的舒畅。 二、我怎样设计架构 我不敢说自己的架构是好的架构(明显不是啦),只好分享自己近来做的一个项目,它的架构的怎样做的。 ,. 第一,确立需求: 1 、一此中小型网站,同时面向挪动端和 PC端(单端大体 15个页面,算上弹窗大概 20个); 2 、估算有限(给的钱少),开发时间有限(一个月); 3 、可能存在必定程度上的需求改正(比方增添页面或改正某些页面内容); 4 、客户可能不太在意优化(可是我自己在意啊); 5 、要求兼容IE9以上。 其次开始决定: 1 、兼容IE9以上说明能够使用主流框架,而无需一定使用 jQuery。所以我采纳了vue,版本是 ; 2 、估算有限,时间有限,所以 PC端和挪动端共html 和js,独立css; 3 、页面有限,所以无需将架构层级区分的比较细,只要要按其种类区分即可; 4 、依据原型图来看,页面复杂程度有限,复用部分不是好多,所以能够确立哪些东西需要封装复用,哪些比较 复杂需要独立封装,哪些比较简单为了简化开发难度能够直接耦合; 5、自己比较娴熟单页面网站,所以采纳以单页面为主,异步加载其余页面的形式。 ,. 于是使用有关配套的东西,比方 webpack ,vue-router 等,此外为了开发和生产的方便性,采纳以下模式进 行开发。 ,. 第三,区分功能: 第一有一个根 html,用户需要经过接见它来加载我们的 js逻辑,所以 js逻辑的代码被写在 之中。 在 之下,我们的前端代码能够被区分为三部分: 组件树 功能模块 各样资源 以下列图: ,. 功能区分好以后,同样功能的放在同

文档评论(0)

134****6803 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档