我正在开发一个我继承的遗留应用程序,它使用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”是文字的值;任何不文字的东西都以“我的”
开头我怀疑这里的“模块”指的是config
中requirejs.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的功能,这是一个在某处记录的标准块吗?谢谢!
答案 0 :(得分:1)
RequireJS定义了几个特殊模块。其中一个名为module
。它允许将当前模块作为对象进行访问。例如,您可以通过将module.exports
设置为值来导出内容。这只是从模块中导出内容的一种方法。可以通过module.id
获取模块名称,通过module.uri
获取其网址(是的,uri
)。
还有一个函数module.config()
可用于访问传递给config
的对象中require.config()
设置字段的值。问题中当前的代码似乎不正确,应该是:
var pr = module.config().prefix;
另一个特殊模块是require
,它只是提供了可用于加载模块的函数的参考。
所有这些都是API中记录的库存RequireJS功能。