这是AMD的规范,具体解释如下:
define([module-name?], [array-of-dependencies?], [module-factory-or-object])
其中:
module-name: 模块标识,可以省略。
array-of-dependencies: 所依赖的模块,可以省略。
module-factory-or-object: 模块的实现,或者一个JavaScript对象。
另外,可以参考网页链接这篇文章,里面有详尽的说明。
在一个js文件中如下定义了rsaFun方法,我怎么在另一个js中引用rsaFun这个方法define("kit/rsa", [], function (e, t, n) {
n.exports = {
rsaFun: function (e) {
var t = "ab86b6371b5318aaa1d3c9e612a9f1264f372323c8c0f19875b5fc3b3fd3afcc1e5bec527aa94bfa85bffc157e4245aebda05389a5357b75115ac94f074aefcd",
n = "10001",
a = Q.crypto.rsa.RSAUtils.getKeyPair(n, "", t),
i = Q.crypto.rsa.RSAUtils.encryptedString(a, encodeURIComponent(e)).replace(/\s/g, "-")
return i
}
}
})
RequireJS中定义一个模块,总的来说有2种方式:简单键值对和函数依赖式。1.简单键值对:一个模块仅含有值对,没有任何依赖
define({
color: "black",
size: 1,
method1: function() {},
method2: function() {}
})
这种写法虽然简单,但是有很大的局限性,仅仅是定义了该模块的返回值,不能做一些额外的初始化工作。
通过下面下面这种方式来定义模块,灵活性更高,我们可以在函数体内写一些模块初始化的代码
define(function () {
//Do initial work here
return {
method1: function() {},
method2: function() {}
}
})
2.函数依赖式:则第一个参数是依赖的名称数组;第二个参数是回调函数。
在模块的所有依赖加载完毕后,回调函数会被调用来定义该模块。
define(["module1"], function(moudle1) {
function calc()
{
return moudle1.val
}
return {"get":calc}
}
)