1、模块化开发的意义
模块通常是指编程语言所提供的代码组织机制,利用此机制可将程序拆解为独立且通用的代码单元。所谓模块化主要是解决代码分割、作用域隔离、模块之间的依赖管理以及发布到生产环境时的自动化打包与处理等多个方面。
2、模块化开发的优点
1)可维护性。 因为模块是独立的,一个设计良好的模块会让外面的代码对自己的依赖越少越好,这样自己就可以独立去更新和改进。
2)命名空间。 在 JavaScript 里面,如果一个变量在最顶级的函数之外声明,它就直接变成2)全局可用。因此,常常不小心出现命名冲突的情况。使用模块化开发来封装变量,可以避免污染全局环境。
3)重用代码。 我们有时候会喜欢从之前写过的项目中拷贝代码到新的项目,这没有问题,但是更好的方法是,通过模块引用的方式,来避免重复的代码库。我们可以在更新了模块之后,让引用了该模块的所有项目都同步更新,还能指定版本号,避免 API 变更带来的麻烦。
3、CommomJS规范
同步加载模块
关键字:require、module.exports
主要用于服务端
加载器:Node.js
4、AMD规范
异步模块定义,按需加载
关键字:define 用于定义模块、导入模块
define(模块名, [模块依赖], function(模块){ ... })
主要用于客户端,异步加载模块
加载器:Require.js
5、CMD规范
关键字:define
加载器:Sea.js
6、UMD规范
它可以看成是CommonJS和AMD的叠加版,同时支持这两种规范。
CommonJS规范 + AMD规范
7、ES6模块
ES6模块遵循js严格模式
关键字:export、import (as关键字用于模块重命名)
export default 默认导出,一个js模块最多只能有一个默认导出。
网友评论