0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Node.js完全攻略ガイド ~Node.js基礎~

0
Last updated at Posted at 2025-10-22

参考教材

Node.js基礎

Node.jsでコードを実行しよう

Node.jsでスクリプトを実行するにはターミナルを使う

console.log('hell Node.js!');
node (ファイルのパス(絶対パス))

2025-10-22 15.00の画像.jpeg

絶対パス
pcのルートディレクトリから、そのファイルまでのパスを表す


相対パス
現在の'カレントディレクトリ'から、そのファイルまでのパスを表す

カレントディレクトリ
ターミナル上で現在開いているパス

# カレントディレクトリの確認方法
pwd
# 相対パスでNode.jsのファイルを開く
node 02_node_basic/010_run_script/start/Example.js

# 相対パスは./をつけるか何もつけないで記述

ターミナルの基本的な使い方

ターミナルの操作方法について整理

/**
 * - 絶対パス
 *   ルートディレクトリからファイルまでのパス
 *   例) / や c: などから始まる
 * 
 * - 相対パス
 *   カレントディレクトリ、または実行中のファイルからのパス
 *   例) 
 *   ./ or /なし or ドライブ(c:)の指定なし  -> 現在のディレクトリからの指定
 *   ../  -> 親のディレクトリを示す
 * 
 * - カレントディレクトリ
 *   コマンドライン(ターミナル)上で現在開いているパス
 *   `pwd` で確認可能
 * 
 * - CDコマンド(Change Directory)
 *   カレントディレクトリを変更するコマンド
 *   例)
 *   cd フォルダ名  -> 指定したフォルダに移動(相対パス、絶対パスで指定可能)
 *   cd ..        -> 親のフォルダに移動
 * 
 * - LSコマンド(List)
 *   カレントディレクトリ内のファイルやフォルダの出力
 * 
 */
# 現在のファイルやフォルダを確認する方法
ls

# ファイルの詳細情報を出せる(もしくは'll')
ls -lts

ファイルに文字を書き込む

// ファイルへの書き込みをする際モジュールを一つimportする必要がある

// fs → Nodeモジュールで標準的に装備されているfsモジュール
// require → CommonJSのimportの方法
const fs = require('fs');

// ファイルの生成と書き込みを行う

// 第一引数に書き込む対象のファイル名を設定
// 第二引数に書き込みたい文字列を記述
fs.writeFileSync('./test.txt', 'hello, node.js')

'./text.txt' の nodeコマンドを実行したディレクトリからの相対パスになる。
Node.jsのスクリプト内のパス( ./text.txt )は、nodeコマンドを実行したディレクトリからのパスになる


__dirname

console.log(__dirname);

現在実行されたJSファイルが格納されているフォルダまでのパスを__dirnameによって取得できる

2025-10-22 16.54の画像.jpeg


__filename

console.log(__filename);

実行中のファイル(example.js)までの絶対パスが格納されている変数

2025-10-22 16.58の画像.jpeg


./text.txtをstartフォルダの中に作成したい場合

fs.writeFileSync(__dirname + '/test.txt', 'hello, node.js')

2025-10-22 17.01の画像.jpeg

パスの取り扱い方法について学ぶ

path

パスの操作を行うためのメソッドが格納されている

const path = require('path');

// test.txtをdistフォルダに移す

// 相対パスを引数に含めた場合、第一引数のパスから一つ上がる解釈を自動でしてくれる
const distPath = path.resolve(__dirname, '../dist/test.txt');
console.log(distPath);

fs.writeFileSync(distPath, 'hello, node.js')

2025-10-22 21.09の画像.jpeg

パスの指定は.resolveを使った方が安全

resolveは実行された環境に合わせてpathを出力してくれる

モジュール管理システム

ソースコードを機能毎に分割した一つの単位
→ 代表的なものにESMとCJSが存在する

各環境毎のモジュール管理システム

ブラウザ
・ES Module (ESM)

Node.js
・CommonJS (CJS)
・ES Module (ESM)

CommonJSの特徴

・Node.js独自の仕組み
・ブラウザでは使えない

ES Moduleの特徴

・ECMAScriptの標準
・ブラウザで使用可能
・基本的にはESMの記述を推奨

ブラウザとNode.jsの実行環境の違い

# ブラウザとNode.jsの実行環境の違い
- モジュール管理の仕組みが異なる
  ブラウザ:ESM
  Node.js:CJS、ESM

- 使える機能が異なる
  ブラウザ:document(DOM API)、alertなど
  Node.js:require、fsモジュール、pathモジュールなど

- グローバルオブジェクトが異なる
  ブラウザ:window
  Node.js:global
  
  globalThis:適宜グローバルオブジェクトを返却するキーワード

  クロスプラットフォームで動くコードは `Universal(Isomorphic) JavaScript` と呼ばれる
  例)React の CSR / SSR など
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?