节点js elementtree必需get找不到模块'sax'

我正在尝试在我的节点js服务器中使用elementtree,但是以下消息是在服务器启动时生成的

Cannot find module 'sax'

我不得不从拉链安装elementree,我做错了什么?

这些是我的声明

var cache = require('./node_modules/node-cache');

var elementTree = require('./node_modules/node-elementtree');

这是我的文件夹结构

module\node_modules\node-cache

module\node_modules\node-elementtree

我的服务器js脚本驻留在\module

问题是因为你没有使用npm来安装你的node-elementtree模块

这是node-elementtree的package.json 。 而且清楚地提到了对sax 0.3.5的依赖

 "dependencies" : { "sax": "0.3.5" } 

如果你已经完成npm install它会解决你的依赖约束。

在你的node-elementtree模块中,它在这里使用了sax,你的require并没有parsing成适当的模块。 因此,错误。 因为你不能使用npm,所以如果可能的话,也使用zip来安装sax,但是如上所述,它可能再次增加你的依赖列表。 所以,试试解决npm问题

你也不需要使用

 var cache = require('./node_modules/node-cache'); var elementTree = require('./node_modules/node-elementtree'); 

在你的代码中

 var cache = require('node-cache'); var elementTree = require('node-elementtree'); 

上面会做。 节点自动从./node_modules目录find模块,甚至从更多的地方find模块