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

問題は、node-elementtreeモジュールのインストールにnpmを使用していないためです。

これpackage.jsonnode-elementtreeのです。そして、サックス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_modulesディレクトリから、さらにはさらに多くの場所からモジュールを自動的に検索ます

于 2012-07-05T12:58:00.993 に答える