2013-05-11 75 views
2

你好,我試圖讓工作一切的NodeJS很好但是設置在這裏的一些Javascript文件是錯誤,我得到:nodeJS ReferenceError:導航器未定義。

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; 
.............................................. 

任何從這個問題來自哪裏的想法? 謝謝。

回答

4

看起來您正在使用Tom Wu的BitInteger和RSA JavaScript庫。這個庫是爲在瀏覽器中使用而設計的,並且在Node.js中不適用。

幸運的是,有人已經完成了將這個庫打包爲Node.js兼容格式的工作;它在GitHub的https://github.com/eschnou/node-bignumber上,可以通過npm作爲包裝「bignumber」,並附帶漂亮的example