min117の日記

初期desireもち。趣味Mac,メインFedora,仕事xp。

写経でReactサンプルアプリ

f:id:min117:20220129111128p:plain

 

結論メモ

f:id:min117:20220131212849p:plain

 

インストール

npm(javascriptのパッケージマネージャらしい)のFacebook社カスタマイズ版であるyarnをインストールして進める。

qiita.com

 

$ yarn global add create-react-app 

f:id:min117:20220129104319p:plain

インストールされたのに

 

create-react-appなんてコマンドは無いって言われる

パスが通ってないんか。

f:id:min117:20220129104530p:plain

f:id:min117:20220129104608p:plain

f:id:min117:20220129104725p:plain

 

パスとおす

f:id:min117:20220129104909p:plain

 

$ vim ~/.bashrc

export PATH="$PATH:`yarn global bin`"

f:id:min117:20220129144048p:plain

$ source ~/.bashrc

$ create-react-app

f:id:min117:20220129105827p:plain

 

やっと ./create-react-app

f:id:min117:20220129110022p:plain

何分かかるんだ…

f:id:min117:20220129110408p:plain

f:id:min117:20220129110503p:plain

f:id:min117:20220129110536p:plain

 

サーバ起動

npm start または yarn start で開発用のWebサーバが起動する。

f:id:min117:20220129111348p:plain

f:id:min117:20220129110945p:plain

 

アクセスポートは3000。

ブラウザから http://npmサーバIP:3000 でアクセスする。

f:id:min117:20220129111042p:plain

 

npmサーバは ctrl + c で止められる

f:id:min117:20220129111417p:plain

f:id:min117:20220129111518p:plain

 

フォルダ構成

f:id:min117:20220130050949p:plain

f:id:min117:20220129112518p:plain

f:id:min117:20220129112621p:plain

App.jsを編集していけばいいみたい。

qiita.com

 

バックアップとっとく。

$ cp App.js App.js_bkup

f:id:min117:20220129112737p:plain

 

変更前App.js

f:id:min117:20220129112840p:plain

f:id:min117:20220129111042p:plain

 

変更後App.js

f:id:min117:20220129113109p:plain

f:id:min117:20220129113153p:plain

 

変更後2

f:id:min117:20220129113604p:plain

f:id:min117:20220129113553p:plain

 

変更後3

Form を別Appに切り出す。

f:id:min117:20220129113921p:plain

$ vim FormApp.js

f:id:min117:20220129114641p:plain

 

呼び出し側(App.js)も直す。

$ vim App.js

f:id:min117:20220129114713p:plain

2行目 import { FormApp } from './FormApp';

11行目 <FormApp />

f:id:min117:20220129114935p:plain

 

変更後4

$ vim App.js

f:id:min117:20220129142413p:plain

 

$ vim FormApp.js

f:id:min117:20220129142341p:plain

f:id:min117:20220129142233p:plain

 

本番公開用ファイル作成

nodejs(のcreate-react-app)で作ったアプリApache Webサーバで公開したい。

f:id:min117:20220129145444p:plain

f:id:min117:20220129145716p:plain

 

 

package.json公開するWebサーバを書く必要あり

うちは Apache なので、その公開アドレスを書く。

$ vim package.json

f:id:min117:20220129151236p:plain

 

"homepage": "http://サーバ名:PORT番号/公開PATH/",

f:id:min117:20220129151402p:plain

 

npm rum  build

build は固定みたい(コマンドの一部っぽい。builddとかにしたらエラーになった)

$ npm run build

f:id:min117:20220129145545p:plain

コンパイル?完了。

 

できたフォルダ(今回は build)を、公開フォルダに置く。

f:id:min117:20220129150039p:plain

 

動いた

f:id:min117:20220129151816p:plain

blog.katsubemakito.net

 

もいっこアプリ作ってみた。

f:id:min117:20220131213006p:plain

上は npm run build してできたbuildフォルダを Apache httpdで公開ポート8080

下は reactで(npmで)立てたサーバで公開。ポート3000

zenn.dev

 

本番WebサーバApache httpd)で公開できるのが素晴らしい

これは使いがいある。

 

全体の感想

なーんかね。使い肉。

専用のWebサーバ立てんのがダルい。

 3日もすればどうやったか忘れる。ファイル1枚でやれてほしい 

 → 解決。アプリ化して既存Webサーバ(Apache)で公開できた。これなら活用できる。

予約語か関数名かパッと分かんない。

 setState()って固定のメソッド名みたいなもん?自由に決めた名前?Webに転がってるサンプルってたいがいココが分かりにくい。自分で作った名前なら例えば JoJooo() とか NingenWoYameruZooo() とかでもいいから、予約語か独自語か明確に分かるようにしてくれよん。







 

 

 

 

 

その買うを、もっとハッピーに。|ハピタス