开发学院

您的位置:首页>教程>正文

教程正文

RequireJS CommonJS

RequireJS CommonJS

  模块格式由CommonJS定义。它没有提供与其他JavaScript环境相同的浏览器选项。因此, CommonJS规范建议使用传输格式和异步请求。您可以轻松地将传统的CommonJS模块格式转换为RequireJS的格式。但是,所有模块都不会转换为新格式。以下列出了一些例外情况

  -具有条件代码的模块执行所需调用。

  -具有循环依赖关系的模块。

手动转换

  可以使用以下语法手动将CommonJS模块转换为所需的格式

define(function(require, exports, module) {
   //place CommonJS module content here
});

转换工具

  使用转换工具内置的r.js可以将CommonJS模块转换为RequireJS所需格式,它内置于r.js文件中。下面是使用方法:

node r.js -convert path/to/commonjs/modules/ path/to/output

设置导出值

  CommonJS允许通过将导出值指定为模块来设置导出值。导出RequireJS,支持从传递给定义的函数返回值的更容易的方法。这样做的优点是不需要导出模块函数参数,因此可以将它们从模块定义中删除,如下所示−

define(function (require) {
   var name = require('name');

   //Define the module as exporting a function
   return function () {
      name.doSomething();
   };
});

替代语法

  指定依赖项的另一种方法是通过定义()的依赖项数组参数。但是,依赖数组中名称的顺序应该与传递给definition函数define ()的参数的顺序相匹配,如下所示

define(['name'], function (name) {
   
   return function () {
      name.doSomething();
   };
});

从CommonJS包加载模块

  要了解位置和程序包属性,请通过设置RequireJS配置将模块加载到使用RequireJS的通用程序包中。

优化工具

  RequireJS中提供了优化工具,该工具可以将模块定义组合在一起,形成用于浏览器传递的优化捆绑包。它作为命令行工具运行,以便您可以将其用作代码部署的一部分。