AMD,CMD,Commonjs
1.模块化的分类
A.浏览器端的模块化
1).AMD(Asynchronous Module Definition,异步模块定义)
代表产品为:Require.js
1.实现js文件的异步加载,避免网页失去响应;
2.管理模块之间的依赖性,便于代码的编写和维护。
2).CMD(Common Module Definition,通用模块定义)
代表产品为:Sea.js
B.服务器端的模块化
服务器端的模块化规范是使用CommonJS规范:
1).使用require引入其他模块或者包
2).使用exports或者module.exports导出模块成员
3).一个文件就是一个模块,都拥有独立的作用域
C.ES6模块化
ES6模块化规范中定义:
1).每一个js文件都是独立的模块
2).导入模块成员使用import关键字
3).暴露模块成员使用export关键字
小结:推荐使用ES6模块化,因为AMD,CMD局限使用与浏览器端,而CommonJS在服务器端使用。
ES6模块化是浏览器端和服务器端通用的规范.
模块化能将一个复杂的大型系统分解为一个个高内聚,低耦合的简单模块,并且每个模块都是独立的,用于完成特定的功能。模块化后的系统变得更加可控、可维护、可拓展,程序代码也更简单直观,可读性也更高,有利于团队协作开发。自动化构建工具的出现,使得前端能更容易、更快速地实现模块化开发。
前端问题总结 文章被收录于专栏
总结一些前端常见的面试笔试题,来和大家分享鸭