【问题标题】:What is the main difference between require() and define() function in dojo and when would we use either?dojo 中 require() 和 define() 函数的主要区别是什么?我们什么时候使用它们?
【发布时间】:2012-07-18 13:04:45
【问题描述】:

我刚开始学习道场,我遇到过require()define() 函数,但我无法理解它们中的任何一个。另外,我什么时候使用它们中的任何一个?一个小的演示或示例将是有益的。非常感谢!

【问题讨论】:

  • 另一个不错的链接:Dojo require() vs. define()。 “define()”提供返回值并延迟加载依赖项。它用于定义您自己的自定义模块及其所需的依赖项。 “require()”的主要用途是导入模块。两者都是同步的;只有 require() 是非惰性的。

标签: javascript dojo js-amd ibm-mobilefirst


【解决方案1】:

requiredefine 是异步模块定义 (AMD) API 的一部分。

您使用define 来定义一个可以被其他代码使用的模块。通常,define 将在 javascript 文件中使用。 javascript 文件正在定义一个模块。所有 Dojo 文件都使用 define。

当您不定义模块时使用require,但您需要已定义的模块。通常,require 将用于 HTML 页面。 HTML 页面不是模块,但需要模块才能将页面呈现给用户。

AMD API

https://github.com/amdjs/amdjs-api/wiki/AMD

【讨论】:

  • 发现使用错误的症状是在代码运行之前立即返回回调...stackoverflow.com/questions/5590618/…
  • 当你定义一个新模块并且你需要另一个你已经创建的模块时,你可以使用define来要求那个模块
猜你喜欢
  • 2021-08-10
  • 1970-01-01
  • 2010-09-05
  • 1970-01-01
  • 1970-01-01
  • 2019-10-06
  • 1970-01-01
  • 2012-03-20
  • 1970-01-01
相关资源
最近更新 更多