Node.jsでプログラムを実行する際、作業ディレクトリ(カレントディレクトリ)を取得したい場合があります。この記事では、`process.cwd()`関数を使って作業ディレクトリを取得する方法について解説します。
process.cwd()とは
`process.cwd()`は、Node.jsのグローバルオブジェクト`process`が提供する関数で、現在の作業ディレクトリ(Current Working Directory)のパスを文字列として返します。
基本的な使い方
const currentDir = process.cwd();
console.log(currentDir);
// 出力例: /Users/username/projects/myapp使用例
1. ファイルパスの解決
const path = require('path');
// 作業ディレクトリを基準にファイルパスを解決
const filePath = path.join(process.cwd(), 'data', 'config.json');
console.log(filePath);
// 出力例: /Users/username/projects/myapp/data/config.json2. ファイル操作での利用
const fs = require('fs');
const path = require('path');
// 作業ディレクトリ内のファイルを読み込む
const configPath = path.join(process.cwd(), 'config.json');
const config = JSON.parse(fs.readFileSync(configPath, 'utf8'));注意点
1. `process.cwd()`は実行時の作業ディレクトリを返すため、プログラムを実行する場所によって結果が変わります。
2. スクリプトファイルの場所とは異なる場合があります。スクリプトファイルの場所を取得したい場合は、`__dirname`を使用してください。
// 作業ディレクトリ
console.log(process.cwd());
// スクリプトファイルの場所
console.log(__dirname);まとめ
- `process.cwd()`は現在の作業ディレクトリのパスを取得できる
- ファイルパスの解決やファイル操作で活用できる
- 実行時の作業ディレクトリに依存するため、使用時は注意が必要
この関数を適切に使用することで、Node.jsアプリケーションでのファイル操作やパス解決をより効率的に行うことができます。