SIGMA-SE Math & Tech Library

SIGMA-SE Math & Tech Library


数学と情報技術をテーマに、書籍や教材だけではつかみにくい考え方を具体例とともに簡潔にわかりやすく伝える解説サイトです。
技術の歴史や背景、関連知識の整理、学習のための覚書や要約記事も掲載しています。

Webシステム開発 - Angular基礎:5/6 プロジェクトのフォルダ構成

概要

Angular CLIで作成した雛形プロジェクトのフォルダ構成と、主要ファイルの役割を整理する。

Angularプロジェクトには、アプリケーション本体、設定ファイル、ビルド設定、テスト設定、静的ファイルなどが含まれる。どこに何を書くかを理解すると、後続の実装で迷いにくくなる。

ここでは、プロジェクト全体とsrcフォルダ配下の構成を分けて確認する。

この記事の構成

対象環境と利用上の注意

  • 本文記載時の環境
    Angular CLI 13.2.0、Node.js 16.13.1、npm 8.3.2、TypeScript 4.5.5、Windows x64で生成したNgModuleベースのプロジェクト構成。
  • 確認時期
    2026年8月。Angular・npm公式資料を照合して記載内容を見直した。
    現行CLIでプロジェクトを再生成した比較検証は行っていない。
  • 現在そのまま利用できない箇所
    現在のAngular CLIはstandalone APIを標準とし、app.config.tsなどを使う。
    .browserslistrckarma.conf.jspolyfills.tstest.tsenvironmentsなどは、Angular CLIの版や作成オプションによって生成されない場合がある。
    以下の一覧は旧環境の生成例であり、常に存在するファイル一覧ではない。

プロジェクト全体のフォルダ構成

以下、前ページのWebシステム開発 - Angular入門:雛形プロジェクトの作成 > 雛形プロジェクトの作成で作成した雛形プロジェクトtemplate-pj全体のフォルダ構成を確認する。

pid69_1

  • 全体のフォルダ構成
    ディレクトリ/ファイル名 用途
    TEMPLATE-PJ プロジェクトフォルダ。
    ┣ .angular ビルドキャッシュの保存場所などに使用されるディレクトリ。
    ┣ .vscode VSCodeの各種設定情報を格納するディレクトリ。
    ┣ node_modules Node.jsで利用するライブラリとAngularを構成するライブラリを格納するディレクトリ。
    ┣ src アプリ本体のプログラムを格納するディレクトリ。
    ※ 詳細は、下記プロジェクトソースのフォルダ構成参照。
    ┣ .browserslistrc 対象ブラウザを指定する設定ファイル。
    ┣ .editorconfig インデントや改行コードなどのコーディングスタイルを指定する設定ファイル。
    ┣ .gitignore Git管理の除外対象を指定する設定ファイル。
    ┣ angular.json Angular CLIワークスペースのビルド、開発サーバー、テストなどの設定を記述するファイル。利用するビルダーやテストランナーは版・構成によって異なる。
    ┣ karma.conf.js 旧環境で生成されたKarmaのテスト設定ファイル。現行CLIでは選択したテストランナーによって存在しない。
    ┣ package.json プロジェクト名、スクリプト、依存パッケージと許容するバージョン範囲などを記述するnpmのマニフェスト。Angular CLIではng newが生成する。
    ┣ package-lock.json 実際に解決した依存パッケージのツリーとバージョンを記録するロックファイル。package.jsonより一方的に優先されるのではなく、両方を組み合わせて依存関係を管理し、npm ciではロック内容とpackage.jsonが矛盾するとエラーになる。
    ┣ README.md プロジェクトの説明を記述するファイル。
    ┣ tsconfig.json TypeScriptの設定ファイル
    TypeScriptに関する他の設定ファイルは全て、この設定ファイルを継承する。
    ┣ tsconfig.app.json TypeScriptおよびAngularのコンパイラオプションなどのアプリケーション固有情報を記述する設定ファイル。
    ┗ tsconfig.spec.json アプリケーションテストに関する情報を記述する設定ファイル。

プロジェクトソースのフォルダ構成

以下、前ページのWebシステム開発 - Angular入門:雛形プロジェクトの作成 > 雛形プロジェクトの作成 で作成した雛形プロジェクトtemplate-pjsrcフォルダ構成を確認する。

pid69_2

  • srcフォルダ構成
    ディレクトリ/ファイル名 用途
    src srcフォルダ
    ┣ app 開発メインとなるアプリケーションを構成するディレクトリ。
    ┣ assets アイコン、画像、動画などの静的コンテンツを配置するディレクトリ。
    ┣ environments 実行環境ごとの設定ファイルを配置するディレクトリ。現行CLIではng generate environmentsなどで必要に応じて生成する。
    ┣ favicon.ico ファビコンファイル。
    ※ ブラウザのタイトルバーやブックマークバーに表示される。
    ┣ index.html Angular CLIのビルド設定でアプリケーションのHTMLエントリーポイントとして指定されるファイル。単に名称がindexだからブラウザがAngularの入口として自動認識するわけではない。
    ┣ main.ts Angularアプリケーションを起動するTypeScriptのエントリーポイント。
    ┣ polyfills.ts 旧環境でポリフィルを読み込むために生成されたファイル。現行CLIではangular.jsonpolyfills設定などで指定し、TypeScriptファイルが生成されない場合もある。
    ┣ styles.scss この例でSCSSを選択したため生成されるアプリケーション全体のスタイルシート。CSSを選択した場合はstyles.cssとなる。
    ┗ test.ts 旧環境でKarmaのテスト対象を読み込むために生成されたファイル。現行CLIではテスト構成によって存在しない。

まとめ

  • Angularプロジェクトは、ソース、設定、ビルド、テスト関連ファイルで構成される。
  • srcはソースコード全体、src/appはアプリケーション本体の実装を配置する中心的なディレクトリとなる。
  • assetsは画像などの静的ファイルを配置する場所で、コンポーネントのロジックとは分けて管理。
  • package.json、angular.json、tsconfig系の設定ファイルは役割が異なるため、用途を確認してから変更。

参考文献

この記事を共有
Xで共有 Facebookで共有 LINEで共有



Copyright SIGMA-SE All Rights Reserved.
s-hama@sigma-se.jp