js 中怎么调用define里面定义的方法

JavaScript024

js 中怎么调用define里面定义的方法,第1张

在一个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

}

}

})

这是AMD的规范,具体解释如下:

define([module-name?], [array-of-dependencies?], [module-factory-or-object])

其中:

module-name: 模块标识,可以省略。

array-of-dependencies: 所依赖的模块,可以省略。

module-factory-or-object: 模块的实现,或者一个JavaScript对象。

另外,可以参考网页链接这篇文章,里面有详尽的说明。

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}

}

)