知识库 : RequireJS介绍

Edit Document

 

 

 

 

 

 

 

 

 

RequireJS介绍

 

 

 

作者 霍琦


目录

1.               整体介绍

2.               配置

 

1.     整体介绍

JavaScript 模块只是遵循 SRP(Single Responsibility Principle 单一职责原则 ) 的代码段,它暴露了一个公开的 API 。在现今 JavaScript 开发中,你可以在模块中封装许多功能,而且在大多数项目中,每个模块都有其自己的文件。 JavaScript 开发者需要持续不断的关注模块之间的依赖性,按照一个特定的顺序加载这些模块,否则运行时将会放生错误。

当要加载 JavaScript 模块时,就会使用 script 标签。为了加载依赖的模块,你就要先加载被依赖的,之后再加载依赖的。使用 script 标签时,你需要按照此特定顺序安排它们的加载,而且脚本的加载是同步的。可以使用 async defer 关键字使得加载异步,但可能因此在加载过程中丢失加载的顺序。另一个选择是将所有的脚本捆绑打包在一起,但在捆绑的时候你仍然需要把它们按照正确的顺序排序。

RequireJS 是一个 Javascript 文件和模块框架,可以从   http ://requirejs.org / 下载

RequireJS 的目标是鼓励代码的模块化,它使用了不同于传统 <script> 标签的脚本加载步骤。可以用它来加速、优化代码,但其主要目的还是为了代码的模块化。它鼓励在使用脚本时以 module ID 替代 URL 地址。

RequireJS 会让你以不同于往常的方式去写 JavaScript 。你将不再使用 script 标签在 HTML 中引入 JS 文件,以及不用通过 script 标签顺序去管理依赖关系。

 

2.     配置

使用 require.config() 方法,我们可以对模块的加载行为进行自定义。 require.config() 就写在主模块( config.js )的头部。参数就是一个对象,这个对象的 paths 属性指定各个模块的加载路径。 Shim 属性定义了模块之间的依赖关系。

RequireJS 默认假定所有的依赖资源都是 js 脚本,因此无需在 module ID 上再加 ".js" 后缀, RequireJS 在进行 module ID path 的解析时会自动补上后缀。

 

下面是关于模块的定义。

 

 

以上两部分是对定义 js 模块的说明示例,接下来说一下加载模块。加载模块,和定义模块一样,第一个参数是加载的模块数组,第二个参数是加载后要执行的函数。

 

 

Attachments:

知识库-RequireJS介绍.docx (application/vnd.openxmlformats-officedocument.wordprocessingml.document)