yarn install - inicialiace projektu, podle package.json stahne moduly
yarn init - vytvoří package json
yarn add next react react-dom - nainstaluje
yarn add isomorphis-unfetch
yarn add --dev flow-bin (https://github.com/este/este/blob/master/.flowconfig) - do souboru přidat // @flow
yarn add flow-typed -D
Nutné ještě vytvořit
- .flowconfig (nastavení flow)
- .prettierrc (jak má formátovat)
Spustit yarn dev nebo yarn build && yarn start
- nastavit ssh key (id_rsa.pub) v průvodci při vytváření serveru na DigitaloOcean
- v phpstorm nastavit DEPLOYMENT:
pres sftp
user: root
ssh: id_rsa
ssh root@ip-address
- instalace apache (neni nutna, vytvorit pripadne slozku pro www rucne)
- instalace node, npm
- instalace ssh
- node -v, npm -v
nahrát vytvořený projekt, do této cesty
/var/www/html/react
standatní cesta pro vhosts.
- Pozor již býva default přednastavený označení 000_default.conf
/etc/apache2/sites-available
$ vim react.conf
$ restart service apache2 restart
možnost jako na localu, ale musím být pořát připojený
$ npm run build
$ npm run start
využijeme pm2, který udrží proces při životě
$ npm install -g pm2
$ pm2 start start.sh
$ pm2 start start-dev.sh
Pokud v appce dojde ke změně je třeba ji přebuildovat pomocí restartu servici pm2
$ pm2 restart all
- Vygenerovat na bitbucketu private a public key.
- uložit fingerprint mezi zname hosty
- public key ulozit na remote server do ~/.ssh/authorized_keys
- nahrat artefact na remote server
- reload pm2, aby nacetla a zbuilila appku
$ scp -r * root@188.166.116.115:/var/www/html/react
$ ssh root@188.166.116.115 pm2 restart all
$ npm install -g prisma
$ prisma init hello-world
prisma deploy
Při initu test vybrat
- druhou moznost
- zases druhou advance-node
cd test
yarn dev
yarn add babel-plugin-transform-flow-strip-types
yarn add babel-plugin-transform-object-rest-spread
yarn add babel-preset-env
yarn add babel-register
import exp from “/packages” - exp musí být default - export default exp jinak import { exp } from “..”
getInitialProps - Načte data ze server side rendering
EsLint - pravidla pro psani JS
type Props = {| stars: number, |} - exact object types znamena ze objekt neni dale rozsiritelny