RequireJS教程:CommonJS

模块格式由CommonJS定义。它的定义没有向其他JavaScript环境提供浏览器的同等选择。因此,CommonJS规范推荐了Transport格式异步require。您可以轻松地将传统的CommonJS模块格式转换为与RequireJS一起使用。但是,所有模块都不会转换为新格式。下面列出了一些例外情况:

  • 具有条件代码的模块可以执行require调用。
  • 具有循环依赖性的模块。

手动转换

可以使用以下语法将CommonJS模块手动转换为RequireJS格式:

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

转换工具

可以使用r.js文件转换器内置的r.js项目转换器工具将CommonJS模块转换为RequireJS格式。您应该指定要转换的文件的路径和输出文件夹,如下所示:

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

设定出口价值

CommonJS中的某些系统允许通过将导出的值分配为module来设置导出的值。Requires支持从传递给define的函数中返回值的更简单方法。这样做的好处是您不需要export和module函数参数,因此您可以将它们保留在模块定义之外,如下所示:

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

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

替代语法

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

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

从CommonJS包加载模块

要了解位置和包属性,可以通过设置RequireJS配置来使用RequireJS将模块加载到CommonJS包中。

优化工具

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

作者:terry,如若转载,请注明出处:https://www.web176.com/requirejs/1980.html

(0)
打赏 支付宝 支付宝 微信 微信
terryterry
上一篇 2021年2月9日 下午5:12
下一篇 2021年2月9日 下午5:16

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注