STAGE 03 — 3-1 / 生成物を読み解く

フォルダ構成の地図

考えてみよう

生成されたプロジェクトを開くと、フォルダとファイルが山のように並んでいます。全部を理解しないと先へ進めない……のでしょうか?

いいえ。実際に自分で触るのは、ごく一部です。大事なのは「どこに何があるか」の地図を持つこと。全部を覚える必要はありません。よく使う場所だけ、先に押さえましょう。

まずは全体像を、ざっくり

生成直後のプロジェクトは、おおまかにこんな構成です(主要なものだけ抜粋)。

spfx-list-viewer/
├─ src/                     … 自分が書くコードの置き場(主戦場)
│   └─ webparts/
│       └─ listViewer/
│           ├─ ListViewerWebPart.ts       … Webパーツ本体
│           ├─ ListViewerWebPart.manifest.json … 部品の身分証
│           ├─ components/                 … React部品
│           └─ loc/                        … 表示文言(多言語)
├─ config/                  … ビルドや配置の設定
│   ├─ config.json
│   ├─ package-solution.json … パッケージ(.sppkg)の設定・バージョン
│   └─ serve.json            … ローカル起動の設定
├─ sharepoint/              … 配置用の成果物(.sppkg などが入る)
├─ package.json             … 依存関係とnpmスクリプト
├─ tsconfig.json            … TypeScriptの設定
└─ node_modules/            … 依存部品(自動生成・触らない)

いちばん触るのは src

自分でコードを書くのは、ほぼ src/webparts/listViewer/ の中だけです。ここが主戦場。他は「設定」や「自動生成物」で、最初のうちは頻繁には触りません。

場所役割触る頻度
src/webparts/.../Webパーツ本体とReact部品。機能はここで作る◎ よく触る
config/package-solution.jsonパッケージ名・バージョン・配置設定○ 配置や更新時
config/serve.jsonローカル起動時の初期ページ△ たまに
sharepoint/solution/*.sppkg配置用の成果物(ビルドで生成)△ 生成物。中身は触らない
node_modules/依存部品✕ 触らない(自動)
ゆみちゃん
ゆみ

「node_modules を消しちゃった!」ってなっても大丈夫。npm install すれば全部戻ってくるの。逆に言うと、node_modules はいつでも復元できる"使い捨て"。GitHubに上げないのもそのため。触って大事なのは src と config だよ。

成果物フォルダは「結果」だから触らない

lib/dist/temp/release/ といったフォルダが、ビルドすると現れます。これらはコードから自動で作られる「結果」なので、直接編集しても次のビルドで上書きされます。編集するのは、あくまで元となる src の側です。

この記事のまとめ

地図が手に入りました。次は、主戦場である Webパーツ本体(.ts) を開いて、その中身の構造を読み解きます。

用語メモ
src
自分でコードを書くフォルダ。SPFx開発の主戦場
config/package-solution.json
パッケージの名前・バージョン・配置設定を持つ重要ファイル
manifest.json
各Webパーツの「身分証」。IDや種類、初期設定を持つ
node_modules
依存部品の実体。npm installで復元できる自動生成フォルダ