我试图在我的节点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
答案 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个地方找到