1. ホーム
  2. node.js

[解決済み] nodejs connect は静的なものを見つけることができません。

2022-09-09 04:37:18

質問

注:私は与えられた他の解決策を試しました ここで を試しましたが、うまくいきませんでした。

NodeJsの初心者です。AngularJS proに従おうとしていますが、NodeJsサーバーのセットアップでつまづきました。本によると、私はnodejsをインストールし、次のように使用して接続パッケージをインストールしました。 npm install connect

その後、nodejsフォルダの隣のフォルダにangularjsをダウンロードしました。そして、サーバーに接続するためのserver.jsファイルを書きました。以下は、そのファイルの内容です。

    var connect = require('connect');
connect.createServer(connect.static("../angularjs")).listen( 5000);

このserver.jsファイルを使用して実行すると。

node server.js

以下のエラーが発生します。

 function app(req, res, next){ app.handle(req, res, next); }
 merge(app, proto);
 merge(app, EventEmitter.prototype);
 app.route = '/';
 app.stack = [];
 return app;
 has no method 'static'
   at Object.<anonymous> (C:\web\nodejs\server.js:2:36)
   at Module._compile (module.js:456:26)
   at Object.Module._extensions..js (module.js:474:10)
   at Module.load (module.js:356:32)
   at Function.Module._load (module.js:312:12)
   at Function.Module.runMain (module.js:497:10)
   at startup (node.js:119:16)
   at node.js:906:3

何かアイデアはありますか? ありがとうございます。

どのように解決するのですか?

connect パッケージは、コードベースの最新 3.x バージョンでいくつかの変更を行い、その中で static ミドルウェアをそれ自身のパッケージに移動しました。 移動したパッケージのリストはこちらで見ることができます。 .

というわけで、2つのオプションがあります。

選択肢1

古い、2.x バージョンの connect をインストールし、それをそのまま使用することができます。

$ npm install [email protected]

最新の2.X.Xバージョンをインストールすることで、現在の実装が正しく機能するようになります。

オプション 2

3.x バージョンの connect を引き続き使用し、さらにその上に serve-static :

$ npm install serve-static

また server.js ファイルを更新して、新しい serve-static モジュールが含まれます。

var connect = require('connect'),
    serveStatic = require('serve-static');

var app = connect();

app.use(serveStatic("../angularjs"));
app.listen(5000);