操作系统:Windows 7 64位
需要使用Node.js解析xml文件。
使用库解析xml2js。
使用命令" npm install xml2js"安装Xml2j。
但是,如果您运行代码:
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');
});
});
错误:
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)
请告诉我,如何解决问题?
答案 0 :(得分:6)
我也面临同样的问题。我在这里做了什么
使用以下命令安装模块
$ npm install -g module_name
然后转到项目目录的任何父目录(它可以是项目目录)并运行以下命令
$ npm链接 module_name
如需更多信息,请check
答案 1 :(得分:5)
确保目录./node_modules/xml2js
存在。
当您在npm install somemodule
处运行D:/test
时,它会存储到D:/test/node_modules/somemodule
,然后您可以在D:/test/*.js
中要求此模块,并且您不能在D:/other/place/*.js
处要求此模块{1}}。如果您希望在任何地方都可以运行该模块:
npm install somemodule -g
答案 2 :(得分:1)
我有类似的问题,甚至尝试过Lellansin提到的修复,但它没有帮助。 npm缓存存在一些问题,我不得不使用命令清除它:
npm cache clean
它对我有用。