๐ ๊ฐ์ธ ๋น + ์น์ฉ ๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ + ์์คํฌ ๐ฅณ
์ด ๊ฒ์๋ฌผ์์๋ ์น์ ํ๊ฒํ ํ ๋ Gatsby์ ์ฌ์ฉํ๋๋ก (๋ฒ์ฉ) Expo ์ฑ์ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ๋๋ฆฌ๊ฒ ์ต๋๋ค!
๐จ If you find bugs please report them on the expo-cli repo with the
[gatsby]
tag in the title.
Gatsby๋ฅผ Expo์ ํจ๊ป ์ฌ์ฉํ๋ ์ด์ ๋ ๋ฌด์์ ๋๊น?
์ด ์์ ์ ์ฃผ์ ์ด์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
โฝ๏ธ ํํ ๋ฆฌ์ผ
npm i -g expo-cli
expo init
# yarn
yarn add gatsby gatsby-plugin-react-native-web
# npm
npm install --save gatsby gatsby-plugin-react-native-web
gatsby-config.js
๋ฅผ ๋ง๋ค๊ณ ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํฉ๋๋ค.gatsby-config.js
module.exports = {
plugins: [
`gatsby-plugin-react-native-web`,
/* ... */
],
}
/.cache
๋ฐ /public
๋ฅผ .gitignore
์ ์ถ๊ฐmkdir -p src/pages
# JS
cp App.js src/pages/index.js
# TS
cp App.tsx src/pages/index.tsx
yarn gatsby develop
๋ฅผ ์คํํ์ฌ ์ฌ์ฉํด ๋ณด์ญ์์ค!http://localhost:8000/
๋ฌธ์ ํด๊ฒฐ
Expo CLI ์์ด ํ๋ก์ ํธ๋ฅผ ์์ํ ๊ฒฝ์ฐ ๋ค์ ์์ ๋ ์ํํด์ผ ํ ์ ์์ต๋๋ค.
yarn add react-native-web
# yarn
yarn add --dev babel-preset-expo
# npm
npm install --save-dev babel-preset-expo
babel.config.js
๋ฅผ ๋ง๋ค๊ณ Babel ์ฌ์ ์ค์ ์ ์ฌ์ฉํฉ๋๋ค.babel.config.js
module.exports = { presets: ['babel-preset-expo'] }
๐ ์๋ก์ด ๋ช ๋ น
์น ์์
expo start:web
yarn gatsby develop
์น ๊ตฌ์ถ
expo build:web
yarn gatsby build
์ ์ ํ๋ก์ ํธ ์ ๊ณต
serve web-build
yarn gatsby serve
๐ ํ์ผ ๊ตฌ์กฐ
Gatsby๋ฅผ ์ง์ํ๋ Expo ํ๋ก์ ํธ์ ๊ถ์ฅ๋๋ ํ์ผ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
Expo Gatsby
โโโ src
โ โโโ pages โก๏ธ Routes
โ โโโ index.tsx โก๏ธ Entry Point for Gatsby
โโโ .cache โก๏ธ Generated Gatsby files (should be ignored)
โโโ public โก๏ธ Generated Gatsby files (should be ignored)
โโโ assets โก๏ธ All static assets for your project
โโโ App.tsx โก๏ธ Entry Point for Mobile apps
โโโ app.json โก๏ธ Expo config file
โโโ gatsby-config.js โก๏ธ Gatsby config file
โโโ babel.config.js โก๏ธ Babel config (should be using `babel-preset-expo`)
๐ ์ฝ์ด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค
์ด ๊ธฐ์ฌ๊ฐ ๋์์ด ๋์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ์ด ์ํฌํ๋ก๋ฅผ ์ฌ์ฉํ๋ค๋ฉด ์ด๋ป๊ฒ ์๋ํ๋์ง ๋ฃ๊ณ ์ถ์ต๋๋ค ๐ ์ฌ์ฉํ์ง ์์๋ค๋ฉด ๋ฃ๊ณ ์ถ์ต๋๋ค! ๊ทธ๋ฌ๋ ์ ์๊ฒ ์ด๋ชจํฐ์ฝ์ ํธ์ํด๋ณด์ธ์ :)
๐ ์ถ๊ฐ ์ ๋ณด
Reference
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(๐ ๊ฐ์ธ ๋น + ์น์ฉ ๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ + ์์คํฌ ๐ฅณ), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://dev.to/evanbacon/gatsby-react-native-for-web-expo-2kgcํ ์คํธ๋ฅผ ์์ ๋กญ๊ฒ ๊ณต์ ํ๊ฑฐ๋ ๋ณต์ฌํ ์ ์์ต๋๋ค.ํ์ง๋ง ์ด ๋ฌธ์์ URL์ ์ฐธ์กฐ URL๋ก ๋จ๊ฒจ ๋์ญ์์ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค