Next.js & Typescript install
1
npx create-next-app --ts <project-name>
1
touch tsconfig.json
1
npm run dev
에러 나면 아래와 같이 설치 후 다시 실행
1
npm install --save-dev @types/node
- package.json
1
2
3
4
5
6
7
8
9
10
{
/*...*/
"scripts": {
"dev": "next dev",
"build": "next build && next export",
"start": "next start",
"lint": "next lint"
},
/*...*/
}
ESLint 적용하기
1
2
3
4
5
6
7
npm i eslint
npx eslint --init
npm i prettier eslint-config-prettier
npm i -D eslint-plugin-prettier
.eslintrc.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
module.exports = {
env: {
browser: true,
es2021: true,
},
extends: [
'eslint:recommended',
'plugin:react/recommended',
'plugin:@typescript-eslint/recommended',
'plugin:prettier/recommended',
'next/core-web-vitals',
// "airbnb",
],
parser: '@typescript-eslint/parser',
parserOptions: {
ecmaFeatures: {
jsx: true,
},
ecmaVersion: 12,
sourceType: 'module',
},
plugins: ['react', '@typescript-eslint'],
rules: {
'prettier/prettier': ['error', { singleQuote: true, parser: 'flow' }],
'react/jsx-filename-extension': [
1,
{ extensions: ['.js', '.jsx', '.tsx', '.ts'] },
],
},
};
BaseUrl 설정
baseUrl 옵션을 사용하여 기본 경로를 지정해주면, 상대경로가 아닌 절대경로로 파일을 import 할 수 있다. base 가 되는 경로를 직접 설정함으로써, 패키지 depth 가 깊어질수록 길어지는 import 문을 짧게 나타낼 수 있다.
tsconfig.json
1
2
3
4
5
6
7
8
{
"compilerOptions": {
/*...*/
"baseUrl": ".",
/*...*/
},
/*...*/
}