1

我正在尝试在我的节点 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

4

1 回答 1

2

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

package.json节点元素树的。并且明确提到了对 sax 0.3.5 的依赖

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

如果你这样做了npm install,它将解决你的依赖约束。

在您的 node-elementtree 模块中,它在这里使用 sax并且您的 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 目录甚至更多地方定位模块

于 2012-07-05T12:58:00.993 回答