๐ข๐จ๐จnpx create-next-app@latest๊ฐ ์๋ํ์ง ์์ - ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ
4310 ๋จ์ด jsstackdevelopersnextjsjavascriptnode
์๋ ํ์ธ์, JSSTACKDEVELOPERS์ M Ahmed์ ๋๋ค. ์น๊ตฌ๋ค๊ณผ ์ด์ผ๊ธฐํ๊ฒ ๋์ด ๋งค์ฐ ๊ธฐ์ฉ๋๋ค.
์์ ์ผ๋ก ๊ฐ์๋ค.
๋ค์๊ณผ ๊ฐ์ ํ๋ก์ ํธ์์ ์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค.
์ด์ ํด๋น ๋ฌธ์ ์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ผ๋ก ์ด๋ํด ๋ณด๊ฒ ์ต๋๋ค.
๋จผ์ ์์คํ ์ ์ ์ญ์ผ๋ก create-next-app๋ฅผ ์ค์นํฉ๋๋ค.
By using npm package manger:
--------------------
npm install --global create-next-app@latest
or
npm i -g create-next-app@latest
If you are yarn package manger user then apply these commands:
By using yarn package manger:
--------------------
yarn add --global create next-app
or
yarn add -g create next-app
TypeScript๋ ์์คํ ์ ์ ์ฒด์ ์ผ๋ก ์ค์น๋ฉ๋๋ค.
๐๐ ์์คํ ์์ ๋ค์ ๋๋ ํ ๋ฆฌ๋ก ์ด๋ํฉ๋๋ค.
C:\Users\<username>\AppData\Roaming\npm
๋ค์๊ณผ ๊ฐ์ ๊ฒ์ ์ฐพ์ ์ ์์ต๋๋ค.์ด์
node_modules
ํด๋๋ฅผ ์ด๋ฉด create-next-app
ํด๋๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค. ๋ค์๊ณผ ๊ฐ์ต๋๋ค.์ด์ dist ํด๋๋ก ์ด๋ํ์ฌ
Templates
๋ฐ typescript
๋ ๊ฐ์ ํด๋๋ฅผ ๋ ์ฐพ์ ์ ์๋ default
ํด๋๋ฅผ ์ฐพ์ต๋๋ค. ์ด๊ฒ๋ค์ ์ฐ๋ฆฌ ํ๋ก์ ํธ์ ํ์ํฉ๋๋ค.์ด์ ํ๋ก์ ํธ๋ฅผ ์ํด
Bash or Terminal
๋ฅผ ์ค์นํ๋ ค๋ Next.JS - App
๋ฅผ ์ฝ๋๋ค.create-next-app my-app
๊ฐ์ง๊ณ ์๋ ๊ฒฝ์ฐ ๊ธฐ๋ณธ์ ์ผ๋ก yarn-package manger๋ก ์ค์น๋ฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด npm-package manger๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ค์น๊ฐ ์๋ฃ๋ ํ:
npm run dev or yarn dev
๋ฅผ ์คํํ์ฌ http://localhost:3000
์์ ๊ฐ๋ฐ ์๋ฒ๋ฅผ ์์ํฉ๋๋ค.์ ์ฒญ์๋ฅผ ๋ณด๋ ค๋ฉด
http://localhost:3000
์ ๋ฐฉ๋ฌธํ์ญ์์ค.ํธ์ง
pages/index.js
ํ๊ณ ๋ธ๋ผ์ฐ์ ์์ ์
๋ฐ์ดํธ๋ ๊ฒฐ๊ณผ๋ฅผ ํ์ธํฉ๋๋ค.create-next-app
์ฌ์ฉ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ [ create-next-app documentation
]( https://nextjs.org/docs )์ ์ฐธ์กฐํ์ญ์์ค.๋๋
์๋ ์ค์
ํ๋ก์ ํธ์
next
, react
๋ฐ react-dom
๋ฅผ ์ค์นํฉ๋๋ค.npm install next react react-dom
# or
yarn add next react react-dom
package.json
๋ฅผ ์ด๊ณ ๋ค์scripts
์ ์ถ๊ฐํฉ๋๋ค."scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start",
"lint": "next lint"
}
์ด๋ฌํ ์คํฌ๋ฆฝํธ๋ ์์ฉ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ์ ์ฌ๋ฌ ๋จ๊ณ๋ฅผ ๋ํ๋ ๋๋ค.
dev
- ๊ฐ๋ฐ ๋ชจ๋์์ Next.js๋ฅผ ์์ํ๋ ์คํnext dev
build - ํ๋ก๋์
์ฉ๋๋ก ์์ฉ ํ๋ก๊ทธ๋จ์ ๋น๋ํ๋ ์คํnext build
start
- Next.js ํ๋ก๋์
์๋ฒ๋ฅผ ์์ํ๋ ์คํnext start
lint
- Next.js์ ๋ด์ฅ ESLint ๊ตฌ์ฑ์ ์ค์ ํ๋ ์คํnext lint
Next.js๋ ํ์ด์ง ๊ฐ๋
์ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ถ๋์์ต๋๋ค. ํ์ด์ง๋ ํ์ด์ง ๋๋ ํ ๋ฆฌ์ .js
, .jsx
, .ts
๋๋ .tsx
ํ์ผ์์ ๋ด๋ณด๋ธ React ๊ตฌ์ฑ ์์์
๋๋ค.ํ์ด์ง๋ ํ์ผ ์ด๋ฆ์ ๊ธฐ๋ฐ์ผ๋ก ๊ฒฝ๋ก์ ์ฐ๊ฒฐ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด
pages/about.js
๋ /about
์ ๋งคํ๋ฉ๋๋ค. ํ์ผ ์ด๋ฆ์ผ๋ก ๋์ ๊ฒฝ๋ก ๋งค๊ฐ๋ณ์๋ฅผ ์ถ๊ฐํ ์๋ ์์ต๋๋ค.ํ๋ก์ ํธ ๋ด์ ํ์ด์ง ๋๋ ํ ๋ฆฌ๋ฅผ ๋ง๋ญ๋๋ค.
๋ค์ ์ฝํ ์ธ ๋ก ์ฑ์ฐ๊ธฐ
./pages/index.js
:function HomePage() {
return <div>Welcome to Next.js!</div>
}
export default HomePage
์ง๊ธ๊น์ง ์ฐ๋ฆฌ๋ ๋ค์์ ์ป์ต๋๋ค.
์๋ ์ปดํ์ผ ๋ฐ ๋ฒ๋ค๋ง
๋น ๋ฅธ ์๋ก๊ณ ์นจ ๋ฐ์
./pages/
์ ์ ์ ์์ฑ ๋ฐ ์๋ฒ์ธก ๋ ๋๋ง์ ์ ํ์ผ ์ ๊ณต.
./public/
๋ /
์ ๋งคํ๋ฉ๋๋ค.๊ฐ์ฌํฉ๋๋ค~ M Ahmed -- ์ง๋ฌธ์ด ๋ ์์ผ๋ฉด ์์ ๋กญ๊ฒ ๋ฌผ์ด๋ณด์ธ์.
#jsstack๊ฐ๋ฐ์ ๐๐
Reference
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(๐ข๐จ๐จnpx create-next-app@latest๊ฐ ์๋ํ์ง ์์ - ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://dev.to/jsstackdevelopers/npx-create-next-applatest-not-working-how-to-solve-this-problem-2jeaํ ์คํธ๋ฅผ ์์ ๋กญ๊ฒ ๊ณต์ ํ๊ฑฐ๋ ๋ณต์ฌํ ์ ์์ต๋๋ค.ํ์ง๋ง ์ด ๋ฌธ์์ URL์ ์ฐธ์กฐ URL๋ก ๋จ๊ฒจ ๋์ญ์์ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค