web-dev-qa-db-ja.com

http-serverをローカルで起動する方法

angular seed を複製しました。これはノードhttp-serverを使用しており、次の構成を使用して完全に機能しています。

コマンド:npm start(プロジェクトのルートから)

package.jsonファイルの次の構成:

"start": "http-server -a localhost -p 8000 -c-1",
Link to file

ただし、このサーバーを直接起動することはできません。例:プロジェクトのルートから、これらのコマンドはどれも機能しません:

>  angular-seed npm http-server  
>  angular-seed node http-server
>  angular-seed http-server

これ(http-server)はここ(ルート、インストール元)から入手できませんか?誰かがそれがどのように機能しているか、プロジェクトのルートから直接使用する方法を説明してください。

グローバルにインストールすればうまくいくと確信していますが、それには興味がありません。

22
JS-JMS-WEB

プロジェクトのルートでnpm installを実行すると、npmのすべての依存関係がプロジェクトのnode_modulesディレクトリにインストールされます。

プロジェクトのnode_modulesディレクトリを見ると、http-serverパッケージを保持するhttp-serverというディレクトリと、実行可能ファイルを保持する.binフォルダが表示されます。インストールされた依存関係からのバイナリ。 .binディレクトリには、http-serverバイナリ(またはそのリンク)が必要です。

したがって、あなたの場合、プロジェクトのルートディレクトリから(http-serverの代わりに)以下を実行することで、npm startを開始できるはずです。

./node_modules/.bin/http-server -a localhost -p 8000 -c-1

これは、npm startの実行と同じ効果があります。

Bashシェルを実行している場合、./node_modules/.binフォルダーを$PATH環境変数に追加することにより、これを簡素化できます。

export PATH=./node_modules/.bin:$PATH

これにより、このフォルダーがパスに配置され、単純に実行できるはずです。

http-server -a localhost -p 8000 -c-1
47
nwinkler

サーバーをローカルで起動するには、以下のコードをpackage.jsonに貼り付けて、コマンドでnpm startを実行しますライン。

"scripts": { "start": "http-server -c-1 -p 8081" },

3
shubham kapoor