RequireJS 调用 "module"

RequireJS call to "module"

我正在开发我继承的遗留应用程序,它使用 RequireJS 和 django-require 来加载许多 JavaScript 模块。我对 RequireJS 有点陌生。

我在其中一个模块中有一个定义调用

define([
    "module",
    "lib/jquery",
    "./scripts/*myScriptName*",
    [...]
], function(module, $, myScriptName, [...]) {
    var pr = module.prefix;
    *do something with pr*

  return myScriptName;
}

"module"是字面值;任何非文字内容都以 "my"

开头

我怀疑这里的 "module" 指的是 requirejs.config 中的 config 块中的 myScriptName 块(此配置块是配置中的 paths 块和 deps 块):

{
    "config": {
        "myScriptName": {
            "prefix": "http://myhost.mydomain.tld/path/to/myScriptName",
            [...]
        },
    },
    "deps": ["path/to/my/dep"],
    "paths": {
        "lib": "path/to/my/lib",
        "jquery": "path/to/my/lib/jquery"
    }
}

这是 django-require(不存在标记)或 requirejs 的特性,这是在某处记录的标准块吗?谢谢!

RequireJS 定义了几个特殊模块。其中一个名为 module。它可以作为对象访问当前模块。例如,您可以通过将 module.exports 设置为一个值来导出某些内容。这只是从模块中导出内容的一种方式。可以通过 module.id 获取模块名称,通过 module.uri 获取模块名称 URL(是的,就是 uri)。

还有一个函数 module.config(),您可以使用它来访问传递给 require.config() 的对象中 config 设置字段的值。当前问题中的代码似乎不正确,应该是:

var pr = module.config().prefix;

另一个特殊模块是require,它只是提供了一个可以用来加载模块的函数的引用。

所有这些都是 API 中记录的常用 RequireJS 功能。