📑
create-react-appからViteへの移行(メモ書き)
概要
docker
をベースにcreate-react-app
で作成したプロジェクトを、Vite
に移行する際に詰まったのでメモ書きとして残しておく
移行前ディレクトリ構造
.
├── Makefile
├── README.md
├── app
│ ├── README.md
│ ├── node_modules
│ ├── package-lock.json
│ ├── package.json
│ ├── public/
├── index.html
└── *
│ ├── src
│ └── tsconfig.json
├── docker
│ └── Dockerfile
└── docker-compose.yaml
移行後ディレクトリ構造
.
├── Makefile
├── README.md
├── app
│ ├── README.md
│ ├── index.html
│ ├── node_modules
│ ├── package-lock.json
│ ├── package.json
│ ├── public/
└── *
│ ├── src
│ ├── tsconfig.json
│ └── vite.config.ts
├── docker
│ └── Dockerfile
└── docker-compose.yaml
移行手順
- viteをインストール
npm install vite --save-dev --legacy-peer-deps
-
packege.json
にスクリプトを追記
"scripts": {
"dev": "vite",
"serve": "vite preview",
...
},
-
app
内にvite.config.ts
を作成
// vite.config.js
import { defineConfig } from "vite";
export default defineConfig({
server: {
host: "0.0.0.0", // すべてのネットワークインターフェースでリッスン
port: 5173, // ポート番号
},
});
-
index.html
をapp/public
からapp
に移動
移行後ディレクトリ構造を参照 index.htmlの内容を変更
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
<!-- 追記 -->
<script type="module" src="/src/index.tsx"></script>
</body>
-
docker-compose.yaml
にポート・コマンドを追記
ports:
- "3000:3000"
- "6006:6006"
- "5173:5173" # 追記
environment:
- APACHE_SERVER_NAME=localhost # 追記
- CHOKIDAR_USEPOLLING=true
command: sh -c ' npm i --legacy-peer-deps && npm run dev' # npm run dev に変更
-
docker-compose up -d
を実行して、localhost:5173にアクセスすれば表示されているはず・・・
Discussion