JavaScript における相対パスと絶対パスの違い
JavaScript 開発では、相対パスと絶対パスの違いというよくある質問が生じます。この理解は、ファイルの適切な取得とアプリケーションの機能にとって非常に重要です。
相対パス
相対パスは、現在のディレクトリを基準にして定義されたパスです。ファイルの完全な場所を指定するのではなく、現在の作業ディレクトリを基準とした相対位置を指定します。たとえば、「images」ディレクトリにいて、「kitten.png」ファイルにアクセスしたい場合は、次の相対パスを使用します:
<img src="kitten.png"/>
絶対パス
一方、絶対パスは、ルート ディレクトリから始まるファイルの完全な場所を指定します。絶対パスは常にスラッシュ (/) で始まり、その後にファイルに至る完全なディレクトリ構造が続きます。たとえば、「kitten.png」ファイルが次のディレクトリ構造にある場合:
/public_html/images/kitten.png
このファイルへの絶対パスは次のようになります:
<img src="/public_html/images/kitten.png"/>
Performance問題
相対パスまたは絶対パスを使用しても、パフォーマンスに重大な問題はありません。ただし、相対パスは軽量で保守が容易なため、一般的に好まれます。
セキュリティへの影響
絶対パスを使用すると、パスが公開されている場合にセキュリティ リスクが生じる可能性があります。ブラウザ。攻撃者はこの情報を使用して、アプリケーションの脆弱性を悪用したり、ファイル システムへの不正アクセスを取得したりする可能性があります。一般に、可能な限り相対パスを使用する方が安全です。
絶対パスから相対パスへの変換
絶対パスを相対パスに変換するには、dirname と基本名関数:
const absolutePath = '/public_html/images/kitten.png'; const relativePath = path.relative(path.dirname(absolutePath), absolutePath);
以上がJavaScript の相対パスと絶対パス: どちらを使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。