Motomichi Works Blog

モトミチワークスブログです。その日学習したことについて書いている日記みたいなものです。

ReactとかVueで開発するときのディレクトリ構造について考えてみた

はじめに

どこかにメモしておこうと思って一旦ここに書いてみました。

ディレクトリ構造


src
├── assets
│   ├── css
│   │   └── reset.css
│   ├── img
│   │   ├── example1.png
│   │   └── example2.png
│   └── scss
│       └── base
│           ├── default.scss
│           └── global-variables
│               └── media-queries
│                   └── _media-queries.scss
├── components
│   ├── common
│   │   ├── Badge
│   │   │   ├── index.tsx
│   │   │   └── index.module.scss
│   │   └── TextLikeField
│   │       ├── index.tsx
│   │       └── index.module.scss
│   ├── ExamplePage1
│   │   ├── index.tsx
│   │   ├── organisms
│   │   │   ├── Org001
│   │   │   │   ├── index.tsx
│   │   │   │   └── index.module.scss
│   │   │   └── Org002
│   │   │       ├── index.tsx
│   │   │       └── index.module.scss
│   │   └── molecules
│   │       ├── Mol001
│   │       │   ├── index.tsx
│   │       │   └── index.module.scss
│   │       └── Mol002
│   │           ├── index.tsx
│   │           └── index.module.scss
│   └── ExamplePage2
│       ├── index.tsx
│       ├── organisms
│       │   ├── Org001
│       │   │   ├── index.tsx
│       │   │   └── index.module.scss
│       │   └── Org002
│       │       ├── index.tsx
│       │       └── index.module.scss
│       └── molecules
│           ├── Mol001
│           │   ├── index.tsx
│           │   └── index.module.scss
│           └── Mol002
│               ├── index.tsx
│               └── index.module.scss
├── containers
│   ├── ExamplePage1
│   │   ├── index.tsx(/src/pagesディレクトリが無い場合)
│   │   └── organisms
│   │       ├── Org001
│   │       │   └── index.tsx
│   │       └── Org002
│   │           └── index.tsx
│   └── ExamplePage2
│       ├── index.tsx(/src/pagesディレクトリが無い場合)
│       └── organisms
│           ├── Org001
│           │   └── index.tsx
│           └── Org002
│               └── index.tsx
├── layouts
│   └── default.vue NuxtまたはNextの場合
├── middleware
│   └── README.md Nuxtの場合
├── pages
│   └── README.md Nuxtの場合
├── plugins
│   └── README.md Nuxtの場合
├── types
│   └── example-type1.d.ts
└── utils
    └── example-function1.ts