一份前端开发人员的架构样式指南(学习笔记-前端开发架构设计)
一份前端开发人员的架构样式指南(学习笔记-前端开发架构设计)当通过某种语法或API去使用一个模块时,这个过程叫做模块的导入,注意的是,在使用某一模块时,我们使用的是该模块导出的部分,隐藏的部分是永远无法使用的。3、模块:模块其实本质上就是一个JS文件,该文件实现了一定的功能,并在隐藏自己内部实现的情况下,提供了一些接口给其他模块使用。任何一个正常的模块化标准,都应该默认隐藏模块中的所有实现,而通过一些语法或API调用来暴露接口。2、模块化:解决一个复杂问题时,自顶向下逐层把系统划分成若干模块的过程意义:解耦,可并行开发模块化方案:AMD,CMD,CommonJS,ES6
前端开发的技术选项主要包含以下几点,下面对一些名词概念的解释做了笔记:
1、分层架构:把功能相似,抽象级别相近的实现进行分层隔离
优势:松散耦合(易维护,易复用,易扩展)
常见分层方式:MVC,MVVM
2、模块化:解决一个复杂问题时,自顶向下逐层把系统划分成若干模块的过程
意义:解耦,可并行开发
模块化方案:AMD,CMD,CommonJS,ES6
3、模块:模块其实本质上就是一个JS文件,该文件实现了一定的功能,并在隐藏自己内部实现的情况下,提供了一些接口给其他模块使用。任何一个正常的模块化标准,都应该默认隐藏模块中的所有实现,而通过一些语法或API调用来暴露接口。
当通过某种语法或API去使用一个模块时,这个过程叫做模块的导入,注意的是,在使用某一模块时,我们使用的是该模块导出的部分,隐藏的部分是永远无法使用的。
4、CommonJS导出模块的方法是exports,导入模块的是require,具体规范如下
1)如果一个JS文件中存在exports或require,该JS文件是一个模块
2)模块内的所有代码均为隐藏代码,包括全局变量、全局函数,这些全局的内容均不应该对全局变量造成任何污染
3)如果一个模块需要暴露一些API提供给外部使用,需要通过exports导出,exports是一个空的对象,你可以为该对象添加任何需要导出的内容
4)如果一个模块需要导入其他模块,通过require实现,require是一个函数,传入模块的路径即可返回该模块导出的整个内容
5、敏捷开发:以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发,是一种迭代的意识和方法,而不是概念和工具。
优点:能够应对满足不断变化的需求
6、SEO即搜索引擎优化。SEO技术是通过优化网站,使网站关键词在搜索引擎上的排名靠前,让网站更多的关键词产生排名、获得流量,这也是SEO的职责所在。
7、框架选择,用户端:求稳,用户类型多样,有SEO要求,多页应用,使用jQuery和CSS
管理系统:求快,用户单一,无SEO要求,使用React和SASS
构建工具:Webpack(支持CommonJS)
8、发布方式:
9、接口文件的书写规范: