내가 Vue CLI를 설치 한 이유는 Vue로만 설치했을 때 ESLint와 Prettier를 설정하는 정답을 찾기가 어려웠다. 그런데 Vue CLI로 Vue 프로젝트를 만들면 자동으로 설정파일을 만들어 주기 때문에 이를 설치하였다.
1. Vue 프로젝트 생성 (기본 가정은 Vue CLI 가 설치되어 있어야 한다. 관련된 오류와 함께 설치방법은 아래 포스트에 올렸으니 참고바란다.)
https://maverick11471.tistory.com/94
[Vue] Vue CLI 설치 시 권한 오류 해결
Vue CLI를 설치하려고 아래와 같이 명령문을 작성하였다. npm install -g @vue/cli 그랬더니 아래와 같이 오류가 나왔다.npm error code EACCESnpm error syscall mkdirnpm error path /usr/local/lib/node_modules/@vuenpm error errno
maverick11471.tistory.com
vue create (프로젝트명)
2. 본인이 설정하고 싶은 vue 프로젝트 설정하기
- Vue CLI를 사용하면 새로운 Vue.js 프로젝트를 생성할 때 나타나는 질문들은 프로젝트의 설정을 사용자 맞춤으로 구성할 수 있도록 도와준다. 나는 아래와 같이 설정하였다.
Vue CLI v5.0.8
? Please pick a preset: Manually select features
// 내가 직접 설정하겠다는 뜻이다.
? Check the features needed for your project: Babel, Linter
// 프로젝트에서 사용할 도구이다. ** 여기서 ESLint(Linter)를 지정한다. 만약 추가로 Router 등을 설정하고 싶다면 Space를 누르면 추가가 된다.
? Choose a version of Vue.js that you want to start the project with 3.x
// Vue의 버전을 묻고 있다.
? Pick a linter / formatter config: Prettier
// ** 여기서 Prettier를 지정한다.
? Pick additional lint features: Lint on save
// 파일을 저장할 때마다 자동으로 린트를 수행하여 코드의 스타일과 오류를 검사하도록 설정한다.
? Where do you prefer placing config for Babel, ESLint, etc.? In dedicated config files
// 설정 파일을 package.json에 통합할 것인지, 아니면 별도의 설정 파일을 만들 것인지 묻고 있다. 나는 별도의 config 파일을 만드는 것으로 설정했다.
? Save this as a preset for future projects? No
// 현재 선택한 설정을 향후 프로젝트에서 사용할 수 있도록 저장할지 여부를 묻는 질문이다.
3. vue 실행
cd (프로젝트명)
npm run serve
- localhost:8080 을 클릭하면 아래와 같이 창이 나온다.
여기서 끝이 아니라 추가 설정을 해줘야 한다.
1. .eslintrc.js
module.exports = {
root: true,
// 이 설정 파일이 루트 ESLint 설정 파일임을 나타냄. 하위 설정 파일은 무시함.
env: {
node: true, // Node.js 환경에서 실행됨
},
extends: [ // ESLint 설정 파일에서 사용되는 키워드로, 기존의 규칙 세트나 구성을 가져와서 현재 설정에 포함시키는 역할
"plugin:vue/vue3-essential", // Vue.js 3에 대한 필수 ESLint 규칙
"eslint:recommended", // ESLint에서 추천하는 기본 규칙 세트
"plugin:prettier/recommended", // Prettier와의 통합을 쉽게 설정하고, Prettier 규칙을 ESLint 규칙으로 적용
],
parserOptions: {
parser: "@babel/eslint-parser", // Babel을 사용하여 최신 JavaScript 문법 지원
},
rules: {
"no-console": process.env.NODE_ENV === "production" ? "warn" : "off",
// 프로덕션 환경에서는 console 사용 시 경고를 표시하고, 개발 환경에서는 비활성화
"no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off",
// 프로덕션 환경에서는 debugger 사용 시 경고를 표시하고, 개발 환경에서는 비활성화
},
};
2. .prittier.js
module.exports = {
singleQuote: true, // 문자열에 단일 따옴표 사용
semi: true, // 문장 끝에 세미콜론 사용
useTabs: false, // 탭 대신 공백 사용
tabWidth: 2, // 탭의 너비를 2로 설정
trailingComma: 'all', // 객체, 배열 등에서 마지막 항목 뒤에 쉼표 추가
printWidth: 80, // 한 줄의 최대 길이를 80자로 설정
bracketSpacing: true, // 객체 리터럴의 중괄호 안에 공백 추가
arrowParens: 'avoid', // 화살표 함수의 매개변수가 단일일 경우 괄호 생략
};
3. 인텔리제이 설정
- ESLint
- Prettier 설정
4. ignore 파일 생성
- .eslintignore
node_modules
- .prettierignore
node_modules
.eslintrc.js
'프론트엔드 > Vue' 카테고리의 다른 글
[Vue] Vue CLI 설치 시 권한 오류 해결(EACCES) (2) | 2024.11.17 |
---|