パイソンのhttp.サーバー(または Python 2 の場合は SimpleHTTPServer) は、コマンドラインから現在のディレクトリの内容を提供する優れた方法です。
python -m http.server
しかし、Web サーバーに関しては、非常に遅いです...
シングルスレッドのように動作し、RequireJS を使用して JavaScript AMD モジュールをロードするときにタイムアウト エラーが発生することがあります。画像のない単純なページをロードするには、5 ~ 10 秒かかることがあります。
同じくらい便利で、より速い代替手段は何でしょうか?
ベストアンサー1
http サーバーnode.js の SimpleHTTPServer は非常に便利で、Python の SimpleHTTPServer よりもはるかに高速です。これは主に、リクエストをシリアル化するのではなく、非同期 IO を使用してリクエストを並行処理するためです。
インストール
まだインストールしていない場合は、node.js をインストールします。次に、ノード パッケージ マネージャー ( npm
) を使用して、グローバルにインストールするオプションを使用してパッケージをインストールします。Windows の場合は、管理者権限のプロンプトが必要であり、Linux/OSX の場合は次のコマンド-g
を実行します。sudo
npm install http-server -g
これにより、必要な依存関係がダウンロードされ、インストールされますhttp-server
。
使用
これで、任意のディレクトリから次のように入力できます。
http-server [path] [options]
パスはオプションで、./public
存在する場合は がデフォルトとなり、そうでない場合は になります./
。
オプションは[デフォルト]です:
-p
リッスンするポート番号 [8080]-a
バインドするホストアドレス [localhost]-i
ディレクトリインデックスページを表示する [True]-s
または--silent
サイレントモードではコンソールにログが記録されません-h
または--help
ヘルプメッセージを表示して終了します
したがって、現在のディレクトリをポート 8000 で提供するには、次のように入力します。
http-server -p 8000