小さなフロントエンドプロジェクトで作業していて、ローカルでテストしたい場合は、通常、ウェブブラウザでローカルディレクトリをポイントして開きます。たとえば、file:/// home / erick / mysuperproject / indexと入力します。 URLバーの.html。ただし、サイトがリソースを読み込もうとしている場合、リソースがローカルディレクトリに配置されていても、次のような警告が表示される場合があります。
XMLHttpRequestはfile:///home/erick/mysuperproject/mylibrary.jsを読み込めません。クロスオリジンリクエストはHTTPでのみサポートされます。
Chromeやその他の最新のブラウザでは、クロスオリジンリクエストのセキュリティ制限が実装されています。つまり、file:///を介して何もロードできないため、ローカルでも同じオリジンポリシーにより、常にhttp://プロトコルを使用する必要があります。そのように単純なことですが、そこでプロジェクトを実行するにはWebサーバーをマウントする必要があります。
これは世界の終わりではなく、古き良きApache(他のいくつかのプロジェクトを実行している場合はVirtualHostsを使用)、Expressを使用したnode.js、Rubyサーバーなど、または単に変更するなど、多くのソリューションがあります。ブラウザの設定。
ただし、怠惰なものには、よりシンプルで軽量なソリューションがあります。PythonのSimpleHTTPServerを使用できます。すでにPythonにバンドルされているので、何もインストールしたり構成したりする必要はありません。
たとえば、プロジェクトディレクトリにCDを挿入します。
1 cd / home / erick / mysuperprojectを使用して、
1 python -m SimpleHTTPServerこれで、ターミナルにこのメッセージが表示されます。
1 0.0.0.0ポート8000でHTTPを提供しています...これで、ブラウザに戻って、そこで提供されhttp://0.0.0.0:8000ているすべてのディレクトリファイルにアクセスできます。ポートなどを構成できます。ドキュメントを参照してください。しかし、私が新しいライブラリをテストしたり、新しいアイデアを考え出したりするために急いでいるとき、この単純なトリックは私にとってはうまくいきます。
さあ、ハッピーコーディング!
編集:
Python 3以降では、SimpleHTTPServerはhttp.serverに置き換えられました。したがって、たとえばPython 3.3では、次のコマンドは同等です。
python -m http.server 8000