つくる:プロジェクト始動
新しいことは出てきません
この回では、新しい知識は 1 つも出てきません。第1章で書いたものを 1 つにまとめて、fleama の土台を完成させます。
ここまでに手に入れたもの
| 何を | どのレッスンで |
|---|---|
| ブラウザと Node.js の違い | Node.jsとは |
| ファイルを渡して動かす | スクリプトを実行する |
| 部品を借りて読み込む | npmとは |
| プロジェクトを定義する | package.json |
| 起動に名前を付ける | npmスクリプト |
この 5 つが揃うと、プロジェクトを「他の人に渡せる形」で始められます。
土台とは何か
新しいプロジェクトを始めるとき、最初に決めるのはいつも同じことです。
- このプロジェクトの名前は何か
- 何を借りるのか
- どう起動するのか
この 3 つが package.json に書いてあれば、受け取った人は npm install と npm run dev の 2 つだけで動かせます。逆にどれか欠けていると、口頭で手順を伝えることになります。
起動できることが最初の完成
これから API を作っていきますが、その前に「動かせる状態」を作ることが先です。動かせないプロジェクトには、機能を足しても確かめる手段がありません。
第2章ではデータをファイルへ移し、第3章でいよいよサーバーが立ちます。
手を動かす
演習では、これまでの部品を全部使って package.json を丸ごと組み立てます。名前・依存・スクリプトの 3 つが揃った、そのまま配れる形にしてください。
要件
nameは受け取った名前、versionは"1.0.0"、mainは受け取ったエントリーファイル名にするscriptsはstartがnode <エントリー>、devがnode --watch <エントリー>の 2 つを持つdependenciesはパッケージ名をキー、"^1.0.0"を値にしたオブジェクトにする(空でも必ず入れる)
入出力例
initProject("fleama-api", ["express"], "app.js") → {"dependencies":{"express":"^1.0.0"},"main":"app.js","name":"fleama-api","scripts":{"dev":"node --watch app.js","start":"node app.js"},"version":"1.0.0"}
initProject("fleama-api", ["express","dotenv"], "server.js") → {"dependencies":{"dotenv":"^1.0.0","express":"^1.0.0"},"main":"server.js","name":"fleama-api","scripts":{"dev":"node --watch server.js","start":"node server.js"},"version":"1.0.0"}
initProject("fleama-api", [], "app.js") → {"dependencies":{},"main":"app.js","name":"fleama-api","scripts":{"dev":"node --watch app.js","start":"node app.js"},"version":"1.0.0"}ヒント
編集 ゆめさく編集部