组件化和模块化
组件化和模块化有利于封装以及复用。
组件化:
1.生命周期。
前端框架都有一个重要的词语,生命周期,都大部分从几个方面来看,初始化,渲染,存活期,销毁。
2.数据通讯
组件之间的通讯,父传子,子传父,非父子传值。
3.组件状态管理
双向绑定,路由管理.
Vuex is a state management pattern + library for Vue.js applications.
例如vuex是一个状态管理模式以及资源的集合。
模块化:
三个规范化:
CommonJs,AMD和CMD
1.commonJS 服务器端(后端)
->四个变量
- module
- exports
- require(
require
是同步的) - global
Browserify 是目前最常用的 CommonJS 格式转换的工具。
2.AMD
Asynchronous Module Definition
,"异步模块定义"。
目前,主要有两个Javascript库实现了AMD规范:require.js和curl.js。
具体来说,就是模块必须采用特定的define()函数来定义。如果一个模块不依赖其他模块,那么可以直接定义在define()函数之中。
AMD是依赖关系前置,在定义模块的时候就要声明其依赖的模块;
3.CMD
CMD 即Common Module Definition
通用模块定义
CMD有个浏览器的实现SeaJS
,SeaJS
要解决的问题和requireJS
一样.
CMD是按需加载依赖就近,只有在用到某个模块的时候再去require。