RequireJS调用“模块”

时间:2015-02-12 23:00:03

标签: javascript django requirejs

我正在开发一个我继承的遗留应用程序,它使用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”是文字的值;任何不文字的东西都以“我的”

开头

我怀疑这里的“模块”指的是configrequirejs.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的功能,这是一个在某处记录的标准块吗?谢谢!

1 个答案:

答案 0 :(得分:1)

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

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

var pr = module.config().prefix;

另一个特殊模块是require,它只是提供了可用于加载模块的函数的参考。

所有这些都是API中记录的库存RequireJS功能。