注: here を指定して他のソリューションを試しましたが、うまくいきませんでした
NodeJsの初心者。私はAngularJSプロを追いかけようとしていますが、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
アイデアはありますか?ありがとう。
接続パッケージは、コードベースの最新の3.xバージョンにいくつかの変更を加え、static
ミドルウェアを独自のパッケージに移動しました。 ここに移動されたパッケージのリストを表示できます 。
したがって、2つのオプションがあります。
オプション1
古い2.xバージョンのconnectをインストールして、そのまま使用できます。
$ npm install [email protected]
最新の2.X.Xバージョンをインストールすると、現在の実装が適切に機能します。
オプション2
引き続き3.xバージョンの接続を使用し、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);
ダイラントによる答えは役に立ちます。ただし、同じエラーを解決するために私が従った正確な手順は次のとおりです。 1.コマンドウィンドウで、nodeJSをインストールしたディレクトリにディレクトリを変更します。 2.すでにnpm install connectを実行した後、次を実行します。
npm install serve-static
3.次のコードを使用して、server.jsという名前のファイルを作成します。
var connect = require('connect'),
serveStatic = require('serve-static');
var app = connect();
app.use(serveStatic("./angularjs"));
app.listen(5000);
まだコマンドウィンドウで、nodeJSをインストールしたディレクトリで、次を実行します。
node server.js
URLに移動します http:// localhost:5000/test.html
これは動作するはずです。ここに私のディレクトリ構成があります:C:\ NodeJSInstallLocation\angularjs
var connect = require('connect'),
serveStatic = require('serve-static');
connect().use(
serveStatic("angularjs")
).listen(5000);
あなたはこのような何かを試してみたいかもしれません
var express = require('express');
var app = express();
app.use(express.static('angularjs'));