1. 강의 오리엔테이션
제작할 애플리케이션 소개
현대 프런트엔드 개발 절차와 역할
요구사항 > 서비스 기획 > UI, UX 상세 설계 > GUI 디자인 > 퍼블리싱 > 백엔드 API 개발 > 프런트엔드 개발 > QA
수업에서 사용할 API 문서 소개
2. 개발환경 구성
개발 환경 소개
VSCode 플러그인 및 테마 설정
ctrl + shift + p > Color Theme > Night owl
ctrl + shift + p > File Icon Theme > material icon theme
night owl
material icon theme
vetur
vue vscode snippets
API 서버 프로젝트 구성
https://github.com/joshua1988/vue-til-server
Node.js 버전 관리가 필요한 이유와 버전 변경하는 방법
Node.js 이전 릴리즈 다운로드 페이지
https://nodejs.org/ko/download/releases/
OS 별로 아래 파일을 다운로드 받으시면 됩니다 :)
윈도우 64비트 : x64-msi 파일
윈도우 32비트 : x86-msi 파일
맥 : pkg 파일
리눅스 : tar 파일
NVM 설치 진행 명령어
https://gist.github.com/falsy/8aa42ae311a9adb50e2ca7d8702c9af1
NVM(Node Version Manager) 소개 및 설치
NVM으로 Node.js 버전 변경 및 설치
NVM 설치 및 버전 변경 절차 문서
-https://github.com/joshua1988/vue-til-server#nvm-%EC%84%A4%EC%B9%98-%EB%B0%8F-%EB%B2%84%EC%A0%84-%EB%B3%80%EA%B2%BD-%EB%B0%A9%EB%B2%95
nvm use 버전 이름
nvm 노드 버전
1. 기존에 터미널에서 설치하셨던 nvm을 삭제합니다. 삭제 방법은 구글링하시면 많이 나오더라구요!
2. nvm 깃허브 레포지토리로 가셔서 사용하실 버전에 맞게 Windows 용 setup파일을 다운로드 하고 설치해줍니다.
3. VSCode를 재실행 하시고 터미널에서 nvm -v 로 버전을 확인하시면 설치하려던 버전의 nvm이 정상 설치되어 있는 것을 확인하실 수 있습니다.
4. nvm install 10.16.3 으로 설치시 너무 오래 걸려서 node.js 공식 사이트에서 이전 릴리즈 버전으로 10.16.3 버전을 다운로드 합니다.
5. node.js 공식 사이트에서 받은 10.16.3 파일을 압축 해제합니다. 하시고 폴더 명을 v10.16.3 이런식으로 변경해주세요!
6. nvm을 설치한 폴더로 갑니다.(기본 경로 : C:\Users\사용자 이름\AppData\Roaming\nvm)
이 폴더에 다운로드한 v10.16.3 이름으로 된 폴더를 복사해서 넣어주시면 됩니다.
API 서버 실행 및 확인
node -v
npm i
npm run dev
http://localhost:3000/api/docs/
데이터 베이스 연결 안내
MongoDB 클라우드 사이트 소개 및 가입 안내
https://www.mongodb.com/ko-kr/cloud
MongoDB 클라우드 인스턴스 생성 및 설정
프로젝트생성
클러스터생성
MongoDB 연결 확인
mongodb+srv://test:test@cluster0.reddd.mongodb.net/myFirstDatabase?retryWrites=true&w=majority
useUnifiedTopology: true,
API 문서 보는 법과 사용하는 방법
3. 프로젝트 생성 및 환경 구성
Vue CLI로 프로젝트 생성
https://cli.vuejs.org/guide/installation.html
*뷰 CLI 버전 4.5.x 이상 설치시 선택
Default ([Vue 2] babel, eslint)
프로젝트 설치 옵션
Manually select features
Babel, Linter, Unit
2.x <-- Vue 2로 하시는게 중요합니다. 아직 Vue 3는 상용 서비스에 적용하기에는 무리가 있습니다.
Prettier
Lint on Save
Jest
In dedicated config files
n
npm install -g @vue/cli
vue --version
vue create vue-til
Manually select features
- Babel, Linter / Formatter, Unit Testing
- ESLint + Prettier
- Lint on save
- Jest
- In dedicated config files
Please pick a preset: Manually select features
Check the features needed for your project: Babel, Linter, Unit
Choose a version of Vue.js that you want to start the project with 2.x
Pick a linter / formatter config: Prettier
Pick additional lint features: Lint on save
Pick a unit testing solution: Jest
Where do you prefer placing config for Babel, ESLint, etc.? In dedicated config files
npm run serve
Vue 프로젝트 구조 설명 및 ESLint 에러 확인
.browserslistrc
.eslintrc.js
babel.config.js
https://github.com/vuejs/vue-devtools
https://devtools.vuejs.org/
ESLint 에러가 화면에 표시되지 않게 하는 방법
https://joshua1988.github.io/webpack-guide/devtools/webpack-dev-server.html
ESLint 설정 파일 안내
Prettier 소개 및 ESLint와 같이 사용해야 하는 이유
ESLint에 Prettier 규칙 적용
https://joshua1988.github.io/web-development/vuejs/boost-productivity/
ESLint 플러그인 설치 및 설정 변경
https://github.com/joshua1988/vue-til/blob/complete/settings.json
Open Settings(settings.json)에 아래 내용 추가
{
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
},
"eslint.workingDirectories": [
{"mode": "auto"}
],
}
Prettier 플러그인 확인 및 설정할 때 주의 사항
프로젝트 레벨로 ESLint 규칙을 관리해야 하는 이유와 ESLint 규칙 설명
파일의 절대 경로를 설정해야 하는 이유
파일을 절대 경로로 찾기 설정
https://github.com/joshua1988/vue-til/blob/complete/jsconfig.json
https://code.visualstudio.com/docs/languages/jsconfig
애플리케이션 코딩 컨벤션 및 뷰 스타일 가이드 소개
https://kr.vuejs.org/v2/style-guide/index.html
4. 라우터 & 컴포넌트 설계
깃헙 리포지토리 안내 및 클론
https://github.com/joshua1988/vue-til
뷰 라우터 설치 및 연결
22년 2월 7일부터 뷰 라우터를 NPM으로 설치할 때 버전을 꼭 명시해 주셔야 강의에서 다루는 Vue 2 버전과 호환됩니다.
npm i vue-router@3.5.3
https://joshua1988.github.io/web-development/vuejs/vue3-as-default/
페이지 컴포넌트 생성 및 연결
라우팅 동작 확인
코드 스플리팅 소개 및 적용
https://developer.mozilla.org/en-US/docs/Web/API/Window/history
https://webpack.js.org/guides/code-splitting/
https://vuejs.org/guide/built-ins/keep-alive.html
초기 진입 페이지 설정
https://github.com/vuejs/vue-router
없는 페이지를 접근할 때의 라우터 처리
history mode 설정 및 싱글 페이지 애플리케이션 배포할 때 주의 사항
https://router.vuejs.org/guide/essentials/history-mode.html