1. 1 件のとき
  2. 2 件のときは渡された並びのまま
  3. 並びが変われば結果も変わる
  4. 依存が無いとき
コース一覧
Node.js入門
npmとは

Node.js入門

Node.jsの実行モデル、npm、Expressによるルーティング、REST API設計、データベース接続、トランザクションを使った購入処理、トークン認証まで、バックエンド開発の基礎を、毎レッスン実際にコードを書き、フリマアプリのAPIを自分の手で作りながら学びます。

1
Node.jsとは
01. Node.jsとは15分
02. スクリプトを実行する15分
03. npmとは15分
04. package.json15分
05. npmスクリプト15分
06. つくる:プロジェクト始動20分
07. 第1章クイズ10分
2
モジュールと非同期の復習
01. import/export15分
02. ファイルを読み書きする15分
03. async/await復習15分
04. JSONの取り回し15分
05. つくる:データ層20分
06. 第2章クイズ10分
3
はじめてのサーバー
01. サーバーとリクエスト15分
02. Expressを導入する15分
03. ルーティング15分
04. JSONを返す15分
05. 開発の回し方15分
06. つくる:サーバー始動20分
07. 第3章クイズ10分
4
REST APIのきほん
01. RESTの考え方15分
02. 一覧を返す15分
03. 1件を返す15分
04. 登録を受ける15分
05. 更新と削除15分
06. ステータスコード15分
07. つくる:商品CRUD完成20分
08. 第4章クイズ10分
5
リクエスト処理と検証
01. クエリパラメータ15分
02. 並び替えとページング15分
03. 入力検証15分
04. ミドルウェア15分
05. エラーハンドリング15分
06. つくる:検索API完成20分
07. 第5章クイズ10分
6
データベース接続
01. DBにつなぐ15分
02. 一覧・詳細をDB化15分
03. 出品をDB化15分
04. SQLインジェクション20分
05. 更新・削除をDB化15分
06. 購入トランザクション20分
07. つくる:DB版fleama20分
08. 第6章クイズ10分
7
認証のきほん
01. 認証と認可15分
02. パスワードハッシュ15分
03. ログインとトークン15分
04. 保護ルート15分
05. 本人のものだけ15分
06. つくる:認証完備20分
07. 第7章クイズ10分
8
総合制作
01. fleama API完成20分
02. Reactと接続する20分
03. サーバーで常駐させる20分
04. 自由拡張20分
05. 完成と次のステップ15分

npmとは

他人の書いたコードを借りる

プログラムを作っていると、誰かがすでに解いた問題に何度もぶつかります。日付を読みやすく整える、ランダムな ID を作る、サーバーを立てる。毎回自分で書くのは無駄です。

npm は、そうした部品を配って回す仕組みです。世界中の人が作った部品が置いてあって、名前を指定すれば自分のプロジェクトに持ってこられます。

プレーンテキスト

npm install express

この 1 行で、このコースの後半で使う Express が手元に入ります。

入れたものはどこへ行くのか

入れた部品は node_modules というフォルダに置かれます。中を開くと、自分が指定した覚えのないフォルダも並んでいます。借りてきた部品自身も、別の部品を借りているからです。

この依存の連鎖は自動でたどられます。だから node_modules は自分で編集しませんし、他の人に渡すときも送りません。あとで出てくる package.json さえあれば、同じものをいつでも作り直せるからです。

使うときは読み込む

入れただけでは使えません。使いたいファイルの中で読み込みます。

JavaScript

const express = require("express");

require は「この名前の部品を持ってきて」という指示です。カッコの中が部品の名前で、返ってきたものを変数で受け取ります。

自分で書いたファイルも同じ形で読み込めます。そちらは次の章で扱います。

何でも入れてよいわけではない

借りるということは、そのコードを自分のプログラムの中で動かすということです。名前がよく似ただけの偽物を掴むと、そのまま被害になります。

入れる前に、次のことを見る癖をつけてください。

  • 名前の綴りが公式のものと一字一句合っているか
  • 更新が続いているか
  • 週あたりのダウンロード数が極端に少なくないか

手を動かす

演習では、借りているパッケージ名の一覧から、必要な require の行を組み立てる関数を書きます。npm が何を管理していて、コードのどこにつながるのかを、手で確かめてください。

要件

  1. 1 件を const 名前 = require("名前"); の形にする
  2. 複数件のときは改行 \n でつなぎ、渡された並びを変えない
  3. 依存が 1 つも無いときは空文字 "" を返す

入出力例

buildRequires(["express"]) → "const express = require("express");" buildRequires(["express","dotenv"]) → "const express = require("express"); const dotenv = require("dotenv");" buildRequires(["dotenv","express"]) → "const dotenv = require("dotenv"); const express = require("express");" buildRequires([]) → ""

ヒント

配列を `for` で回して、1 件ずつ行を作ります

1 行の形は `const 名前 = require("名前");` です。名前が 2 か所に入ります

行を配列に貯めておいて、最後に `join("\n")` でつなぎます

生田 陸人
監修生田 陸人
ゆめさくエンジニア / 現役ソフトウェアエンジニア監修者プロフィールを見る →
編集 ゆめさく編集部·公開 2026/08/10

関連レッスン

  • package.json

    fleamaプロジェクトを初期化し、package.jsonでプロジェクトを定義できるようになります。

  • npmスクリプト

    npm run devを定義し、起動コマンドを整備できるようになります。

  • つくる:プロジェクト始動

    第1章の知識を統合し、fleamaの土台一式を初期化できるようになります。

  • 第1章クイズ

    Node.jsとnpmの理解を4択で確認します。

このレッスンに出てくる用語

意味があいまいなまま進んだ語は、ここから読み直せます。

  • サーバークライアント(ブラウザなど)がリクエストを送り、サーバーがレスポンスを返す。
  • 変数データに名前をつけて参照する仕組み
  • 関数処理に名前を付けて再利用できる単位
main.js
学習モード
エディタを読み込んでいます

メモ

npmとは

⌘S で保存