[关闭]
@zChange 2018-03-01T03:46:10.000000Z 字数 640 阅读 181

现在项目中的劣势

目录结构不清晰

image_1c7b60e6i19i3j571hrv1jgm1i2l9.png-37.2kB

没有设计模式,业务逻辑层,服务层混杂在一起,难以维护

image_1c7b69ejp1nts1ngdd92191016mb20.png-63.7kB

项目中用到的第三方插件没有管理,相互之间可能有依赖,会出现不可意料的bug

image_1c7b6hotk1sqo2511vh0ekd1v3v37.png-156.2kB

需要操作dom

image_1c7fp787k1pjp11qu7ec1en5eo59.png-79.7kB

前端无路由,直接访问html文件可访问

image_1c7fovfv01m8kcniitl4ua1kcvm.png-3.8kB

image_1c7fovv451u1ca4q1kji1qkk1gva13.png-30.9kB

代码无压缩,直接对外暴露,带来性能及安全性问题。

image_1c7fosfb318i7h0msgo1rro6r09.png-17.9kB

image_1c7fphktce9l15ev1dft12fhncv13.png-95.2kB

es6新特性无法采用。(不兼容问题)

项目中重复代码多,全局变量多,注释少,代码不规范,可读性差。

无组件化思想,相似组件无法复用。

数据格式不统一,错误提示无统一处理,代码风格不统一,协同合作不方便,js太灵活,大项目下无提示只能靠注释,语法错只能在浏览器中知道错误

优势
- 简单容易理解
- 方便操作dom
- 对开发人员要求较低

引入框架改进

angular

目录结构清晰明了,提高项目的可维护性

image_1c7b61vb112jh1ni21u6vrb51ouum.png-67.3kB

组件化思想,提高复用率。降低项目中的耦合。

image_1c7b6d9b61qpo1kpnkm61rpf1vb42d.png-250.8kB

image_1c7b7dv386qn18dbg7v1l0cto865.png-14.1kB

采用npm管理包文件,方便管理升级包(方便管理开发环境和线上环境)

image_1c7b6gapmecj49512ts1ffc14262q.png-157.7kB

image_1c7b6jovh17c31npg2j17g21i7r3k.png-121.1kB

webpack打包压缩,线上环境代码打包压缩,减少代码体积,提高代码安全性。

image_1c7b70iigradiseq8lg1sp8u4u.png-94.2kB

angular路由(路由拦截器),无权限或不存在地址展示相应页面,用户体验好

image_1c7b7530vrq3rtortc8l41m9g5b.png-3.8kB

image_1c7b758jr1c8s1jli1st2un7f285o.png-3.7kB

风格统一,提高组员协同合作。angular官方有统一的代码风格。

image_1c7b7j6ad1e801cpusfn1crhpil7c.png-120.3kB

双向绑定无需操作dom

image_1c7b6v9l5m083df1kra1lqfm0r4h.png-273.5kB

无脑使用es6及es7,ts会编译成es5

采用ts开发,强类型降低出错,项目庞大后维护方便(智能提示)

image_1c7b7fg9o19mf1d91jjv1r6k5ou6i.png-32.3kB

预编译,语法错误直接提示,无需运行(提高开发效率)。

(全局路由拦截器,ajax拦截器,提供的生命周期方便什么时候做什么,路由支持懒加载,提高性能。
image_1c7fpcmg517sa1cvgorh63t1joim.png-174.8kB

所需要解决的问题

  • 跨域问题
  • npm管理包需要网络支持
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注