前端开发的技术选项主要包含以下几点,下面对一些名词概念的解释做了笔记:
1、分层架构:把功能相似,抽象级别相近的实现进行分层隔离
优势:松散耦合(易维护,易复用,易扩展)
常见分层方式:MVC,MVVM
2、模块化:解决一个复杂问题时,自顶向下逐层把系统划分成若干模块的过程
意义:解耦,可并行开发
模块化方案:AMD,CMD,CommonJS,ES6
3、模块:模块其实本质上就是一个JS文件,该文件实现了一定的功能,并在隐藏自己内部实现的情况下,提供了一些接口给其他模块使用。任何一个正常的模块化标准,都应该默认隐藏模块中的所有实现,而通过一些语法或API调用来暴露接口。
当通过某种语法或API去使用一个模块时,这个过程叫做模块的导入,注意的是,在使用某一模块时,我们使用的是该模块导出的部分,隐藏的部分是永远无法使用的。
4、CommonJS导出模块的方法是exports,导入模块的是require,具体规范如下
1)如果一个JS文件中存在exports或require,该JS文件是一个模块