node js elementtree required get找不到模块'sax'

时间:2012-07-05 11:30:35

标签: node.js module

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

Cannot find module 'sax'

我必须从zip安装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

1 个答案:

答案 0 :(得分:2)

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

This是node-elementtree的package.json。并且明确提到对萨克斯的依赖性为0.3.5

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

如果你已经完成npm install,它就会解决你的依赖性限制。

在node-elementtree模块中,它使用sax here,并且您的require无法解析为正确的模块。因此错误。如果可能的话,你不能使用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自动从./node_modules目录中找到模块,甚至可以从许多more个地方找到