편집 꺼짐
Next.js+형태소분석 CS퀴즈앱 만들기
2023.02.28 14:16:42
-
styled components 설치
yarn create next-app --example with-styled-components-babel
으로 styled-compoents가 적용된 예시를 설치한다.
styled-components는 서버사이드를 위해 별도의 설정이 필요한데, 해당 설정과 타입스크립트가 적용되어있는 예시이다. -
eslint, redux-toolkit 설정
영화앱2에서 적용했던 것과 마찬가지로 eslint, eslint airbnb, eslint next, eslint prettier 순으로 적용한다.
추가로 리덕스 툴킷 사용을 위한 리덕스 라이브러리, 리덕스 타입, 플러그인 등을 설치한다.
{
"private": true,
"scripts": {
"dev": "next",
"build": "next build",
"start": "next start"
},
"dependencies": {
"@reduxjs/toolkit": "^1.3.6",
"axios": "^1.3.4",
"next": "latest",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-redux": "^8.0.5",
"redux-devtools-extension": "^2.13.9",
"styled-components": "^5.3.6"
},
"devDependencies": {
"@types/node": "^18.11.18",
"@types/react": "^18.0.26",
"@types/react-dom": "18.0.10",
"@types/react-redux": "^7.1.25",
"@types/styled-components": "^5.1.26",
"eslint": "^8.32.0",
"eslint-config-airbnb": "^19.0.4",
"eslint-config-airbnb-typescript": "^17.0.0",
"eslint-config-next": "13.1.1",
"eslint-config-prettier": "^8.6.0",
"typescript": "4.9.4"
},
"eslintConfig": {
"extends": [
"next/core-web-vitals",
"airbnb",
"airbnb-typescript",
"prettier"
]
}
}
그리고 기본으로 생성된 tsconfig.json은 아래와 같다.
{
"compilerOptions": {
"target": "es5",
"lib": ["dom", "dom.iterable", "esnext"],
"allowJs": true,
"skipLibCheck": true,
"strict": false,
"forceConsistentCasingInFileNames": true,
"noEmit": true,
"incremental": true,
"esModuleInterop": true,
"module": "esnext",
"resolveJsonModule": true,
"moduleResolution": "node",
"isolatedModules": true,
"jsx": "preserve"
},
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"],
"exclude": ["node_modules"]
}