【问题标题】:RequireJS call to "module"RequireJS调用“模块”
【发布时间】:2015-02-12 23:00:03
【问题描述】:

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

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

【问题讨论】:

    标签: javascript django requirejs


    【解决方案1】:

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

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

    var pr = module.config().prefix;
    

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

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

    【讨论】:

    • 该死的,@Louis,我的眼睛刚刚从那部分掠过。非常感谢!
    猜你喜欢
    • 2023-03-29
    • 1970-01-01
    • 2016-09-01
    • 2015-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-15
    相关资源
    最近更新 更多