我理解的模块化与组件化

来源:互联网 发布:淘宝万艾可 编辑:程序博客网 时间:2024/06/06 04:31

先天残疾,后天畸形。

前言:一直以来,这块总是模模糊糊,搞不懂到底是什么,整理成文字,理下思路,想到哪里写到哪里。

web之初:
诞生之处应用比较简单,后端掌控一切,所以,直接后台人员写就好了。Html css js 没有模块化这个概念。导致前端先天残疾,后天畸形。

发展中
应用太大,出现专职的前端,导致代码分离。前端出现,
结构 样式 行为 的分层。

大前端时代
应用越来越大,必须分层。出现mvvm的结构。amd的模块管理方案。没有规划的页面开始混乱。

项目结构的思考:
项目由 模块 组成,模块由组件组成,有共用的有私有的。这是模块化你的业务,模块化你的代码。主要有html,css ,js 可以用 amd的方案来做。

html的思考:
缺陷:没有嵌入功能。
需求:layout(布局) partials(组件) module.html
css:
common.css module.css
用less 来管理更简单,可以有嵌入功能。可以分细一点分成一个一个功能 or页面来写。
js: 按模块来写。然后在页面中引用这些模块。这是我的思路。

关于打包:它可以减少请求。但是size也变大了。这个看情况把,首次加载不要大于1m我感觉就还好。大了的化就切割吧,要不然影响体验。我觉得按模块打包就可以。不要太大就好。css可能打包不了有冲突的,可以给模块加个前缀来区分,最后可以打包成一个。

解决的方案。是 fis + require
这个是组件的概念比较弱。他是js html的混合物,html要插进去。js可以require进来。

现今的开发方式。mvvm: 他是什么鬼呢?
和上面的差不多了。就是单页的。用js来控制页面而已。同时运行js ,切换出去,要销毁。

一个应用的结构:
从一个应用中提取东西。方便管理。相当于公用模块了。
如 一些函数可以单独拿出来。项目的配置信息可以拿出来。
config factory 只是mvvm多了一些东西 路由 和模板的过滤器 指令
好吧 就这些,不知道说啥了。。

原创粉丝点击