Create React Appを使用してreact.jsを試す
Create React App
を使用し、react.js
の開発環境作成を作成していきます。
今回は、作成した環境でファイルを変更し、Hello World
の文字を表示してみます。
※この記事は、過去の記事を最新の環境に合わせて書き直したものです。
目次
環境
- node : v14.15.3
- create-react-app : 4.0.3
Create React Appとは
一からreact.js
の開発環境を作成する場合、多くのライブラリのインストールと設定ファイルが必要になります。
Create React App
はそのような煩わしい作業を自動でやってくれるため、自分で設定ファイルを作成する必要なくすぐにreact
の開発に取り掛かることができます。
環境を作成してくれるだけなので、SSR
やSSG
を考えているならNext.js
などのフレームワークを使用したほうがいいです。
Create React Appのインストール
まずはひな形を作成するため、Create React App
をインストールします。
package.json
ファイルをカレントフォルダに作成します。中身は適当でいいので、全てEnter
を押すか、-y
を指定して作成します。
1npm init -y
create-react-app
パッケージをローカルにインストールします。インストールが完了したら、npx create-react-app --version
コマンドを実行し、正常にインストールができていることを確認します。
ローカルにインストールしたパッケージを実行するためにnpx
を使用していますが、インストールされていない場合はnode node_modules/create-react-app --version
コマンドでも確認できます。
1npm i -D create-react-app 2npx create-react-app --version 34.0.3
プロジェクトの作成
create-react-app
コマンドを使用してプロジェクトを作成します。ここでは、hello-world
という名のプロジェクトを作成します。
1npx create-react-app hello-world
hello-world
という名前のフォルダが作成され、以下のようなフォルダの構成のファイルが作成されます。
create-react-app
コマンドで作成されたプロジェクトには、webpack
, Babel
, ESLint
などのモジュールも含まれています。
1hello-world 2 ┣ .git 3 ┣ mode_modules/ 4 ┣ public/ 5 ┣ src/ 6 ┣ .gitignore 7 ┣ package.json 8 ┣ README.md 9 ┗ yarn.lock
作成された hello-world
フォルダに移動し、以下のコマンドを実行すると、ブラウザが起動し画面にロゴと、 "Edit src/App.js and save to reload." という文字が表示されます。
1cd hello-world 2npm start
実行を終了するには、ターミナルでCtrl+c
を入力します。
npm startについて
プロジェクト内のpackage.json
のscripts
に書かれているnpm-scripts
を実行するためのコマンドで、以下の内容が書かれています。
package.json1 "scripts": { 2 "start": "react-scripts start", 3 "build": "react-scripts build", 4 "test": "react-scripts test", 5 "eject": "react-scripts eject" 6 }
npm-scripts
を実行するには、通常はnpm run
コマンドを使用しますが、start
はrun
を省略できるため、npm start
で処理が実行されますreact-scripts start
と記述されている部分は、./node_modules/react-scripts/
内のstart.js
を実行しています
Hello worldを表示する
画面にHello World
と表示するためにsrc
フォルダ内のApp.js
ファイルを変更していきます。ファイルの内容をすべて削除し、以下のように書き換えます。
App.js1function App() { 2 return <div>Hello World</div>; 3} 4 5export default App;
npm start
を実行している場合、自動的にファイルがコンパイルされ、ブラウザにHello World
が表示されます。
これは、webpack-dev-server
がフォルダを常に監視し、ファイルが変更された場合、対象のファイルをコンパイルしてブラウザをリロードするように設定されているからです。
Typescriptを利用する場合
typescript
を利用する場合は、プロジェクトの作成時に --template typescript
引数を付けてコマンドを実行します。
1npx create-react-app my-app --template typescript
作成されたフォルダの構成は、以下のようになります。typescrpt
用の設定ファイル(tsonfig.json
)が追加され、作成されたソース内のファイルの拡張子も.ts
または.tsx
になっています。
1my-app 2 ┣ mode_modules/ 3 ┣ public/ 4 ┣ src/ 5 ┃ ┣ App.css 6 ┃ ┣ App.test.tsx 7 ┃ ┣ App.tsx 8 ┃ ┣ index.css 9 ┃ ┣ index.tsx 10 ┃ ┣ logo.svg 11 ┃ ┣ react-app-env.d.ts 12 ┃ ┣ reportWebVitals.ts 13 ┃ ┗ setupTests.ts 14 ┣ .gitignore 15 ┣ package.json 16 ┣ README.md 17 ┣ tsconfig.json 18 ┗ yarn.lock
同じように npm start
を実行すれば、"Edit src/App.tsx and save to reload."と表示されます。
おわりに
react
の開発環境を一から作成しようとすると、パッケージのインストールや各種設定などが必要となりかなり大変な作業になります。
Create React App
を利用することによって、そういった煩わしい作業をする必要なく開発環境を作成できるため、react
を少し勉強してみたい時などには積極的に利用してみてください。