nodeJS ReferenceError:未定义navigator。

时间:2013-05-11 18:38:04

标签: node.js rsa public-key-encryption

您好我正在努力使一些Javascript文件在nodeJS上工作一切都很好但是这里是我得到的错误:

C:\>node myServer.js

C:\myFunctionsCallTest.js:750
if( (j_lm && (navigator.appName == "Microsoft Internet Explorer")) || navigato
              ^
ReferenceError: navigator is not defined
    at Object.<anonymous> (C:\myFunctionsCallTest.js:750:15)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (C:\myServer.js:1:79)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)

C:\>

我正在使用的文件是:

myServer.js

var my_module = require("./myFunctionsCallTest.js");
console.log("RSA encrypted message :"+ my_module.Encrypt("myKey","myMessage"));

myFunctionsCallTest.js //This file contains some call of prototypes like : 
.....................................
RSAKey.prototype.setPublic = RSASetPublic;
RSAKey.prototype._short_encrypt = RSAEncrypt;
RSAKey.prototype.encrypt = RSAEncryptLong;
RSAKey.prototype.encrypt_b64 = RSAEncryptB64;
..............................................

这个问题可能来自哪里? 感谢。

1 个答案:

答案 0 :(得分:4)

看起来你正在使用Tom Wu的BitInteger和RSA JavaScript库。该库设计用于浏览器,在Node.js中无法正常工作。

幸运的是,有人已经完成了以Node.js兼容格式打包这个库的工作;它位于https://github.com/eschnou/node-bignumber的GitHub上,可以通过npm作为包“bignumber”获得,并附带一个不错的example