Javascript 导出函数的问题

Javascript 导出函数的问题,javascript,cryptography,firefox-addon,Javascript,Cryptography,Firefox Addon,我试图在附加组件上使用,但在将其代码粘贴到模块上时遇到问题 我在这里做了一个测试项目: main函数调用teste.js中描述的函数 如果我只在teste.js上留下这段代码 exports.generateKey = generateKey; /*** * Function test (I know that I could not to generate a constant key) ***********************************************/ f

我试图在附加组件上使用,但在将其代码粘贴到模块上时遇到问题

我在这里做了一个测试项目:

main函数调用teste.js中描述的函数

如果我只在teste.js上留下这段代码

exports.generateKey = generateKey;
/***
 *  Function test (I know that I could not to generate a constant key)
 ***********************************************/
function generateKey(){
    return 123455;
}
main.js上的main函数找到函数generateKey,并在控制台中显示数字123455

但是当我添加Stanford库的代码时,它停止工作,我得到了follow错误

TypeError:t.generateKey不是函数

有人能帮我吗

非常感谢。

加密库将使用自己的导出来导出您的导出:

if(typeof module != 'undefined' && module.exports){
  module.exports = sjcl;
}
我还找不到在哪里或者是否有文档记录,但在每个SDK模块中都有一个模块对象,其一个属性是module.exports,它以导出的别名开始

因此,未修改的加密库已经是可加载的,并且完全覆盖您以前添加到导出中的内容


我建议不要接触加密库源代码,而是按原样使用它,例如命名库sjcl.js并像require./sjcl.encrypt那样使用它。。。并在main.js或全新模块中定义包装函数,如generateKey。

谢谢!我创建了另一个名为sjcl.js的文件,就像你建议的那样。