使用dojo.require()而不使用dojo.declare()

Jim*_*Jim 4 dojo dependencies

我对Dojo的文档很困惑.如何在不实际使用dojo.declare()的情况下使用dojo.require()?我不想使用dojo.declare()的原因是它将声明的类公开为全局变量.

现在我的代码看起来像这样:

HTML file:
dojo.require('module.test');

Module/test.js:
dojo.provide('module.test');
function test() {
    return 'found me';
}
Run Code Online (Sandbox Code Playgroud)

我无法让Dojo在任何地方返回test()方法.在没有声明的情况下使用dojo.require()的正确模式是什么?

Ste*_*ung 6

我认为你是混乱dojo.provide/ dojo.requiredojo.declare.它们是完全不同的概念.

与模块有关的事情

dojo.provide定义一个模块.

dojo.require要求在以后运行任何代码之前定义模块.

与JavaScript类相关的事情

dojo.declare是完全不同的东西.它声明了一个Dojo风格的类.

您可以在一个模块中有多个类,或者组成一个类的多个模块.通常,模块!==类,它们是完全不相关的概念.

  • 你是对的,我很困惑这些.我认为很多教程和文档都没有解释清楚,或者至少对我来说不够清楚;) (2认同)