ノードファイルパス

ノードでファイルパスを操作して操作する方法

システム内のすべてのファイルにはパスがあります。

LinuxおよびmacOSでは、パスは次のようになります。

/users/flavio/file.txt

一方、Windowsコンピュータは異なり、次のような構造になっています。

C:\users\flavio\file.txt

この違いを考慮に入れる必要があるため、アプリケーションでパスを使用する場合は注意が必要です。

を使用してこのモジュールをファイルに含めます

const path = require('path')

そして、あなたはそのメソッドを使い始めることができます。

パスから情報を取得する

パスを指定すると、次の方法を使用してパスから情報を抽出できます。

  • dirname:ファイルの親フォルダを取得します
  • basename:ファイル名の部分を取得します
  • extname:ファイル拡張子を取得します

例:

const notes = '/users/flavio/notes.txt'

path.dirname(notes) // /users/flavio path.basename(notes) // notes.txt path.extname(notes) // .txt

次の2番目の引数を指定することにより、拡張子なしでファイル名を取得できます。basename

path.basename(notes, path.extname(notes)) //notes

パスの操作

を使用して、パスの2つ以上の部分を結合できます。path.join()

const name = 'flavio'
path.join('/', 'users', name, 'notes.txt') //'/users/flavio/notes.txt'

を使用して、相対パスの絶対パス計算を取得できます。path.resolve()

path.resolve('flavio.txt') //'/Users/flavio/flavio.txt' if run from my home folder

この場合、ノードは追加します/flavio.txt現在の作業ディレクトリに移動します。 2番目のパラメーターフォルダーを指定する場合、resolve最初のものを2番目のベースとして使用します:

path.resolve('tmp', 'flavio.txt')//'/Users/flavio/tmp/flavio.txt' if run from my home folder

最初のパラメーターがスラッシュで始まる場合、それは絶対パスであることを意味します。

path.resolve('/etc', 'flavio.txt')//'/etc/flavio.txt'

path.normalize()は別の便利な関数で、次のような相対指定子が含まれている場合に実際のパスを計算しようとします。.または..、またはダブルスラッシュ:

path.normalize('/users/flavio/..//test.txt') ///users/test.txt

解決と正規化の両方で、パスが存在するかどうかはチェックされません。取得した情報に基づいてパスを計算するだけです。

私の無料ダウンロードNode.jsハンドブック


その他のノードチュートリアル: