React.js¶
create-react-app + Dockerで開発しよう¶
$ npx create-react-app my-app
$ cd my-app
# Dockerfileとdocker-compose.ymlをつくる.
$ cat Dockerfile
FROM node:14.5.0-alpine
WORKDIR /usr/src/app
# node versionは適宜最新のものを使うなどするのがよい.
$ cat docker-compose.yml
version: '3'
services:
node:
build:
context: .
dockerfile: Dockerfile
volumes:
- ./:/usr/src/app
command: sh -c "yarn start"
ports:
- "3000:3000"
stdin_open: true # https://teratail.com/questions/249875
- これで
docker-compose build
,docker-compose up
とかをしつつよしなに開発する.
Enviroment(create-react-app)¶
npm start
: development modenpm run test
: test modenpm run build
: production mode- create-react-appではnodeのenvは利用できない.
NODE_ENV=development
の指定で.env.development
を読み込ませる,などはできない.
ENV(create-react-app)¶
- .env : デフォルト
- .env.local: ローカル環境用(Environmentモードがtestの場合は読み込まれない)
- .env.development, .env.test, .env.production: それぞれのEnvironmentモードで読み込まれる
- .env.development.local, .env.test.local, .env.production.local: ローカル環境用
- create-react-appはdotenvを利用しており、.envファイルで指定した設定値はReactアプリ内からprocess.env経由でアクセスできます。
- .envファイルには、REACT_APP_から始まる変数名=値 の形式で記述します。
- ref: 知っていると捗るcreate-react-appの設定 - Qiita
References¶
- React + Material-UIで管理画面を作成してみた | Developers.IO
- navbarいれてととのえる
- Material UIを使ってカッコいいUIのReactアプリケーションを作ってみた
- react-i18nextで多言語対応(国際化・i18n)を素振り | suzukalight.com
- How to deploy a React app to a subdirectory | by Scott Vinkle | Medium
- Reactで直接URLをたたくと404になる時の対応 - Qiita
- 文字列のリンクタグにreact-routerを適用させる方法 | 田舎エンジニアの技術ブログ | Wikiee
- 知っていると捗るcreate-react-appの設定 - Qiita
- JavaScriptの行末セミコロンは省略すべきか | blog.tai2.net
- useEffect完全ガイド — Overreacted