Node.JS找不到模块'xml2js'(Windows)

som*_*ain 5 node.js xml-parsing

操作系统:Windows 7 64位

需要使用Node.js解析xml文件.

使用库来解析xml2js.

使用命令"npm install xml2js"安装Xml2js.


但是,如果您运行代码:

var fs = require ('fs'), xml2js = require ('xml2js'); 

var parser = new xml2js.Parser (); 
fs.readFile ('<path to the xml-file>', function (err, data) {
     parser.parseString (data, function (err, result) {
         console.dir (result); 
         console.log ('Done'); 
     }); 
});
Run Code Online (Sandbox Code Playgroud)

一个错误:

module.js:340
    throw err;
          ^
Error: Cannot find module 'xml2js'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (<???? ?? js-?????>:3:14)
    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 Function.Module.runMain (module.js:497:10)
Run Code Online (Sandbox Code Playgroud)

请告诉我,如何解决问题?

Vis*_*wat 7

我也面临同样的问题.在这里我做了什么.
使用以下命令
$ npm install -g module_name安装模块

然后转到项目目录的任何父目录(它可以是项目目录本身)并运行以下命令
$ npm link module_name

有关详细信息,请检查


Lel*_*sin 5

确保该目录./node_modules/xml2js存在.

当你运行npm install somemoduleD:/test,它将被存储到D:/test/node_modules/somemodule,然后你可以要求这个模块D:/test/*.js,你不能要求它D:/other/place/*.js.如果您希望在任何地方都可以运行该模块:

npm install somemodule -g
Run Code Online (Sandbox Code Playgroud)