JavaScriptのpathモジュールについて現役エンジニアが解説【初心者向け】

初心者向けにJavaScriptのpathモジュールについて現役エンジニアが解説しています。サーバーサイドで使われるNode.jsに入っているモジュールで、ファイルパスからディレクトリ名を取得したり、ファイル名を取得することができます。pathモジュールの書き方や使い方について解説します。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事が4,000以上あります。現役エンジニアの方はこちらをご覧ください。

JavaScriptのpathモジュールについて、TechAcademyのメンター(現役エンジニア)が実際のコードを使って初心者向けに解説します。

JavaScriptについてそもそもよく分からないという方は、JavaScriptとは何なのか解説した記事をまずご覧ください。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、JavaScript/jQuery講座の内容をもとにしています。

 

田島悠介

今回は、JavaScriptに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

JavaScriptのpathモジュールについて詳しく説明していくね!

大石ゆかり

お願いします!

 

目次

 

pathモジュールとは

サーバーサイドでも使われるNode.jsというJavaScriptの実行環境があります。このNode.jsに標準で入っているモジュールの1つがpathモジュールです。

pathモジュールは、ファイルパスからディレクトリ名を取得したり、ファイル名だけを取得したりするような文字列としてのパスの操作ができます。

[PR] JavaScript・jQueryで挫折しない学習方法を動画で公開中

pathモジュールの使い方

Node.jsに標準で入っているので下記のようにrequireで読み込めます。

require('path')

読み込んだ後は、pathを代入した変数からpathのメソッドを呼び出すことでパスの文字列を操作するいろいろな処理を実行できます。

pathのメソッドは下記の公式サイトでご確認ください。

公式のNode.jsサイトのpathモジュールページ

実際に書いてみよう

pathモジュールのメソッドを使って、ファイルパスを操作します。

var path = require('path')

var pathString = '/directory1/directory2/file.txt';

まずは準備として、requireで読み込んだpathモジュールをpathという名前の変数に格納しています。そして、pathStringという変数に今回操作するファイルパスの文字列を格納しています。

ディレクトリ名を取得

dirnameメソッドでは末尾のディレクトリ区切り文字/(スラッシュ)は無視されます。

ここでは、/directory1/directory2 という文字列が取得できます。

path.dirname(pathString)

 

パスの最後の部分(ファイル名)を取得

ここでは、file.txt という文字列が取得できます。

path.basename(pathString)

拡張子を除く場合は、第2引数に拡張子を指定します。
ここでは、fileという文字列が取得できます。

path.basename(pathString, '.txt')

 

拡張子を取得

ここでは、.txt という文字列が取得できます。

path.extname(pathString);

 

ディレクトリ名を結合

joinメソッドにディレクトリ名を複数指定することで区切り文字を追加して結合したパス文字列を取得できます。
ここでは、dir1/dir2/dir3 という文字列が取得できます。

path.join('dir1', 'dir2','dir3')

 

まとめ

標準で入っているpathモジュールを使って、ファイルパスの操作をおこないました。

ここで紹介した以外にもpathモジュールのメソッドは用意されていますので、パスの操作をする際にはpathモジュールのページも確認してみてください。

筆者プロフィール

横山茂雄(よこやましげお)

フリーエンジニアとして活動中。サーバーサイドからフロントまで時代の波に合わせてスキルを変化させてきました。

言語、フレームワーク、DB、現場、いずれも転々としながら、筋トレも欠かさない体育会系エンジニアです。TechAcademyジュニアのゲームアプリコースを担当しています。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも最短4週間で、JavaScript・jQueryを使ったWebサービス公開を習得できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。