SlideShare a Scribd company logo
1 of 16
Vue.js 뽀개기 1장 환경설정
Vue.js 환경설정 및 라우팅 설정
1. 설치 파일 목록
• visual studio code 설치
• code.visualstudio.com/Download
• node.js설치
• https://nodejs.org/ko/download/
• vue cli 설치
• npm install -g @vue/cli
1-1. VSCode 설치
• https://code.visualstudio.com/Download
• 자신의 환경에 맞는 편집프로그램을 다운로드 한다. 굳이 VSCode로 환경을 할 필요없이 자주 사용하는 편집프로그램을 사용해도 무관하다.
1-2. Node.js설치
• https://nodejs.org/ko/download/
• 마찬가지로 Node.js도 자신의 환경에 맞게 설치하면 된다. Node.js는 자바스크립트를 실행하는 런타임이고, Vue는 화면을 그리는 프레임워크이다.
- Node.js는 비유하자면 요리를 만드는 식자재들이라 표현 할 수 있을 것 같고, Vue는 식자재를 조달 받아 요리해주어 내보내는 것과 비유를 해볼 수 있을 것 같다.
1-3. Vue CLI 설치
• 커맨드 창에서 npm으로 install 해주자.
• npm install –g @vue/cli 명령어를 실행하여 설치
• 정상적으로 설치되었는지 확인(vue – version)
• Vue-cli는 기본 vue 개발환경을 설정해주는 도구이다.
• 프로젝트의 폴더구조에 대한 고민, lint, build, 어떤 라이브러리로 구성을 해야 하는지 webpack 설정 등 고민을 덜을 수 있다.
• CLI(Command Line Interface) 터미널을 통해 사용자와 컴퓨터가 상호 작용하는 방식을 뜻한다.
• npm 또는 yarn을 사용할 수 있다. (해당 설명에서는 npm을 사용함)
1-4. Vue.js devtools 설치
• Vue.js devtools 설치 이유는 디버깅을 쉽게 하도록 하기 위해서이다. 크롬 브라우저에서만 지원하고 있으며, 설치 후 웹 페이지에 들어가면 사용할 수 있다.
• 주의사항
• - vue.js 를 사용하여 코드를 작성하였음에도 Vue.js not detected라고 표시 되어 진다. 이유는? 로컬 경로 때문…
2-1. Vue.js 프로젝트 생성 및 플러그인 설치
• C: 하위의 workspace를 생성하고 해당경로로 이동(커맨드창에서 cmd) ex) cd:project워크스페이스 경로
• vue create 프로젝트명 명령어로 프로젝트 생성
- 실패 현상 정리
1. 커맨드 창에서 실행 시 프로젝트가 생성이 안되고 ERR를 내뱉고 menually 선택하라고 뜨게 될수도 있음. 엔터를 쳐서 진행되도록 해주면됨.
2. 허나 여기서도 ERR가 발생하고 진행이 안되는경우가 생길수 있음.
3. npm help를 쳐서 npm이 정상 설치되었는지 확인을 해본다.
4. 처리가 안되면 아래의 하위 플러그인들을 설치 후 VSCode를 재실행 해준다.
- view-in-browser : html 파일을 기본 브라우저로 볼 수 있도록 함
- vetur: Vuew.js 작업시 편리한 기능들을 제공 (코드 자동완성, 디버깅, 하이라이팅 등...)
- HTML Snippets: HTML 태그를 빠르게 작성할 수 있게 도와줌
- JS-CSS-HTML Formatters: JS, CSS, HTML의 코드 자동완성 기능을 제공(사용법 Ctrl + Space)
- Vue 2 Snippets: Vue.js 2.0의 코드 지원 및 하이라이팅 기능을 제공
- Vue-beautify: Vue.js 코드에 대한 정리 배치 기능을 제공
- ESLint: 자바스크립트 코드 스타일, 문법 체크 기능을 제공
- Korean Language Pack for Vusual Studio Code : VsCode 한글 패치 (선택)
2-2. 플러그인 설치
• 마켓플레이스에서 추가 플러그인을 검색하여 설치를 진행한다..
• 플러그인 설치 후 재실행하고, 터미널에서 프로젝트를 생성 후 npm run serve 명령으로 생성한 프로젝트를 실행해 본다.
• Localhost:8080 으로 실행한 화면을 확인해 본다.
2-3. Vue router 설치
• Npm install vue-router 명령어 실행
- 라우터?
웹 페이지간에 이동하는 방법. 특정 버튼을 누르거나 특정페이지로 이동을 할 시 한 페이지에서 새로고침 처럼 특정영역만 갱신 해주는 역할.
※서버에서 URL 매핑이 SPA 페이지에 적절하게 이루어진 경우, URL을 브라우저 창에 직접 입력하여 접속하는 것도 가능
- 스프링 부트 : SPA 라우트를 위한 URL 컨트롤러
2-4. bootstrap-vue 설치
• Npm install vue bootstrap-vue bootstrap 명령어 실행
- 패키지 연동으로 컴포넌트를 사용할 수 있음. Bootstrap-vue.org로 이동하여 보면 도큐먼트가 잘되어있다.
Components에 Navbar를 이용하여 상단의 헤더를 만들어 테스트 샘플 소스로 사용해보겠다.
3-1. 프로젝트 생성 및 구조 설명
• 2-1의 위에서 설명과 같이 프로젝트 생성 명령어를 실행하여 프로젝트를 생성하게 되면 아래와 같은 구조의 프
로젝트가 생성이 된다.
1. 옆의 빨간 부분의 영역이 프로젝트가 생성이 되면 나타나는 구조이다.
2. src 하위에 views와 components하위의 layout을 추가 할 것이며, rotuer도 추가 하여 테스트를
진행해 보겠다.
3. 1차 목적은 한 화면의 특정영역에서 헤더는 고정으로 하고, 특정영역만 갱신
되도록 테스트를 진행해 보겠다.
3-2. 구조설명(components>layout)
Components>layout 경로를 생성하여 Header.vue를 생성
- main화면의 헤더로 사용할 영역을 생성 해줌.
- bootstrap-vue.org의 Components의 Navbar의 샘플소스를
복사하여 헤더로 사용 할것이다.
- Header.vue파일에 <template>영역과 <script>영역을 선언해준다.
- 복사한 Navbar 샘플소스를 템플릿안에 넣고 스크립트 영역에 사용할
템플릿 이름을 header로 넣어준다.
3-3. 구조설명(src>views)
Views하위의 Home.vue 파일과 About.vue파일을 생성
- Home파일은 경로값이 없을경우 메인화면으로 사용되도록 생성.
- About파일은 파일의 경로가 about이면 이동되도록 화면을 생성.
Header.vue파일에서와 마찬가지로 html코드는 template영역 안에, 그리고
처리되는 이벤트는 스크립트 영역 안으로 코딩하면된다.
3-4. 구조설명(router.js)
• Vue-router 설정
- 플러그인을 설치만 하였고, 사용하도록 설정을 해주지 않았다.
- vue-router를 사용할수있도록 import해주고, router를 선언도 해준다.
- 호출하는 페이지도 사용할 수 있도록 경로를 지정해준다.
- 하단의 const router를 선언해주고, 디폴트 router를 선언해주지 않으면,
router를 선언은 했지만 읽을 수 없다는 warning이 발생한다.
선언을 하면 읽을 수 있도록 export 해주자.
Routs로 선언한 영역에 path가 없으면 Home화면을 path경로가 About이면
About화면을 호출하도록 지정해준다.
3-5. 구조설명(App.vue)
App.vue파일의 영역에 헤더와 라우팅 부분 수정
- Header컴포넌트를 사용할수 있도록 경로를 import해주고,
템플릿 부분에 헤더영역으로 사용하고자 하는 부분에 입력.
- 한 화면에서 특정영역을 갱신해줄 router-view영역도 지정.
3-6. 구조설명(main.js)
Main.js에 설치한 bootstrap을 사용하도록 import 함
- bootstrap을 사용할 수 있게 선언을 해주고, css도
사용할 수 있도록 import해준다.
- 보여주는 Vue영역에 roter영역이 갱신될 수 있도록
import한 router를 추가해주어 mount되도록 함.
- 터미널에서 npm run serve로 프로젝트를 실행
Home화면이 뜨는지 localhost:8080 url을 띄워
확인 한다. About경로를 입력하여 화면이 갱신되는
것을 확인한다.

More Related Content

What's hot

도메인주도설계
도메인주도설계도메인주도설계
도메인주도설계Wonjun Hwang
 
코로나 데이터 시각화 AI 경진대회 2위 수상작
코로나 데이터 시각화 AI 경진대회 2위 수상작코로나 데이터 시각화 AI 경진대회 2위 수상작
코로나 데이터 시각화 AI 경진대회 2위 수상작DACON AI 데이콘
 
Aws glue를 통한 손쉬운 데이터 전처리 작업하기
Aws glue를 통한 손쉬운 데이터 전처리 작업하기Aws glue를 통한 손쉬운 데이터 전처리 작업하기
Aws glue를 통한 손쉬운 데이터 전처리 작업하기Amazon Web Services Korea
 
Processing XML and Spreadsheet data in Go
Processing XML and Spreadsheet data in GoProcessing XML and Spreadsheet data in Go
Processing XML and Spreadsheet data in GoRi Xu
 
[AWS Innovate 온라인 컨퍼런스] Amazon Personalize를 통한 개인화 추천 기능 실전 구현하기 - 최원근, AWS 솔...
[AWS Innovate 온라인 컨퍼런스] Amazon Personalize를 통한 개인화 추천 기능 실전 구현하기 - 최원근, AWS 솔...[AWS Innovate 온라인 컨퍼런스] Amazon Personalize를 통한 개인화 추천 기능 실전 구현하기 - 최원근, AWS 솔...
[AWS Innovate 온라인 컨퍼런스] Amazon Personalize를 통한 개인화 추천 기능 실전 구현하기 - 최원근, AWS 솔...Amazon Web Services Korea
 
AWS를 활용한 상품 추천 서비스 구축::김태현:: AWS Summit Seoul 2018
AWS를 활용한 상품 추천 서비스 구축::김태현:: AWS Summit Seoul 2018AWS를 활용한 상품 추천 서비스 구축::김태현:: AWS Summit Seoul 2018
AWS를 활용한 상품 추천 서비스 구축::김태현:: AWS Summit Seoul 2018Amazon Web Services Korea
 
Amazon Personalize Event Tracker 실시간 고객 반응을 고려한 추천::김태수, 솔루션즈 아키텍트, AWS::AWS ...
Amazon Personalize Event Tracker 실시간 고객 반응을 고려한 추천::김태수, 솔루션즈 아키텍트, AWS::AWS ...Amazon Personalize Event Tracker 실시간 고객 반응을 고려한 추천::김태수, 솔루션즈 아키텍트, AWS::AWS ...
Amazon Personalize Event Tracker 실시간 고객 반응을 고려한 추천::김태수, 솔루션즈 아키텍트, AWS::AWS ...Amazon Web Services Korea
 
Developing Connected Applications with AWS IoT - Technical 301
Developing Connected Applications with AWS IoT - Technical 301Developing Connected Applications with AWS IoT - Technical 301
Developing Connected Applications with AWS IoT - Technical 301Amazon Web Services
 
Swagger / Quick Start Guide
Swagger / Quick Start GuideSwagger / Quick Start Guide
Swagger / Quick Start GuideAndrii Gakhov
 
Amazon Personalize 소개 (+ 실습 구성)::김영진, 솔루션즈 아키텍트, AWS::AWS AIML 스페셜 웨비나
Amazon Personalize 소개 (+ 실습 구성)::김영진, 솔루션즈 아키텍트, AWS::AWS AIML 스페셜 웨비나Amazon Personalize 소개 (+ 실습 구성)::김영진, 솔루션즈 아키텍트, AWS::AWS AIML 스페셜 웨비나
Amazon Personalize 소개 (+ 실습 구성)::김영진, 솔루션즈 아키텍트, AWS::AWS AIML 스페셜 웨비나Amazon Web Services Korea
 
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [6시내고양포CAT몬] : Cat Anti-aging Project based Style...
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [6시내고양포CAT몬] : Cat Anti-aging Project based Style...제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [6시내고양포CAT몬] : Cat Anti-aging Project based Style...
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [6시내고양포CAT몬] : Cat Anti-aging Project based Style...BOAZ Bigdata
 
Amazon SNS로 지속적 관리가 가능한 대용량 푸쉬 시스템 구축 여정 - AWS Summit Seoul 2017
Amazon SNS로 지속적 관리가 가능한 대용량 푸쉬 시스템 구축 여정 - AWS Summit Seoul 2017Amazon SNS로 지속적 관리가 가능한 대용량 푸쉬 시스템 구축 여정 - AWS Summit Seoul 2017
Amazon SNS로 지속적 관리가 가능한 대용량 푸쉬 시스템 구축 여정 - AWS Summit Seoul 2017Amazon Web Services Korea
 
AWS Lambda를 기반으로한 실시간 빅테이터 처리하기
AWS Lambda를 기반으로한 실시간 빅테이터 처리하기AWS Lambda를 기반으로한 실시간 빅테이터 처리하기
AWS Lambda를 기반으로한 실시간 빅테이터 처리하기Amazon Web Services Korea
 
오토스케일링 제대로 활용하기 (김일호) - AWS 웨비나 시리즈 2015
오토스케일링 제대로 활용하기 (김일호) - AWS 웨비나 시리즈 2015오토스케일링 제대로 활용하기 (김일호) - AWS 웨비나 시리즈 2015
오토스케일링 제대로 활용하기 (김일호) - AWS 웨비나 시리즈 2015Amazon Web Services Korea
 
[백서] Google 드라이브에서 다운로드 방지할수 있을까
[백서] Google 드라이브에서 다운로드 방지할수 있을까 [백서] Google 드라이브에서 다운로드 방지할수 있을까
[백서] Google 드라이브에서 다운로드 방지할수 있을까 Charly Choi
 
CSS Dasar #10 : Specificity
CSS Dasar #10 : SpecificityCSS Dasar #10 : Specificity
CSS Dasar #10 : SpecificitySandhika Galih
 
AWS Single Sign-On (SSO) 서비스 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
AWS Single Sign-On (SSO) 서비스 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나AWS Single Sign-On (SSO) 서비스 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
AWS Single Sign-On (SSO) 서비스 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나Amazon Web Services Korea
 
자바를 잡아주는 GURU가 있다구!? - 우여명 (아이스크림에듀) :: AWS Community Day 2020
자바를 잡아주는 GURU가 있다구!? - 우여명 (아이스크림에듀) :: AWS Community Day 2020 자바를 잡아주는 GURU가 있다구!? - 우여명 (아이스크림에듀) :: AWS Community Day 2020
자바를 잡아주는 GURU가 있다구!? - 우여명 (아이스크림에듀) :: AWS Community Day 2020 AWSKRUG - AWS한국사용자모임
 

What's hot (20)

도메인주도설계
도메인주도설계도메인주도설계
도메인주도설계
 
코로나 데이터 시각화 AI 경진대회 2위 수상작
코로나 데이터 시각화 AI 경진대회 2위 수상작코로나 데이터 시각화 AI 경진대회 2위 수상작
코로나 데이터 시각화 AI 경진대회 2위 수상작
 
Aws glue를 통한 손쉬운 데이터 전처리 작업하기
Aws glue를 통한 손쉬운 데이터 전처리 작업하기Aws glue를 통한 손쉬운 데이터 전처리 작업하기
Aws glue를 통한 손쉬운 데이터 전처리 작업하기
 
Processing XML and Spreadsheet data in Go
Processing XML and Spreadsheet data in GoProcessing XML and Spreadsheet data in Go
Processing XML and Spreadsheet data in Go
 
[AWS Innovate 온라인 컨퍼런스] Amazon Personalize를 통한 개인화 추천 기능 실전 구현하기 - 최원근, AWS 솔...
[AWS Innovate 온라인 컨퍼런스] Amazon Personalize를 통한 개인화 추천 기능 실전 구현하기 - 최원근, AWS 솔...[AWS Innovate 온라인 컨퍼런스] Amazon Personalize를 통한 개인화 추천 기능 실전 구현하기 - 최원근, AWS 솔...
[AWS Innovate 온라인 컨퍼런스] Amazon Personalize를 통한 개인화 추천 기능 실전 구현하기 - 최원근, AWS 솔...
 
AWS를 활용한 상품 추천 서비스 구축::김태현:: AWS Summit Seoul 2018
AWS를 활용한 상품 추천 서비스 구축::김태현:: AWS Summit Seoul 2018AWS를 활용한 상품 추천 서비스 구축::김태현:: AWS Summit Seoul 2018
AWS를 활용한 상품 추천 서비스 구축::김태현:: AWS Summit Seoul 2018
 
Amazon Personalize Event Tracker 실시간 고객 반응을 고려한 추천::김태수, 솔루션즈 아키텍트, AWS::AWS ...
Amazon Personalize Event Tracker 실시간 고객 반응을 고려한 추천::김태수, 솔루션즈 아키텍트, AWS::AWS ...Amazon Personalize Event Tracker 실시간 고객 반응을 고려한 추천::김태수, 솔루션즈 아키텍트, AWS::AWS ...
Amazon Personalize Event Tracker 실시간 고객 반응을 고려한 추천::김태수, 솔루션즈 아키텍트, AWS::AWS ...
 
Java in 2 hours
Java in 2 hoursJava in 2 hours
Java in 2 hours
 
Developing Connected Applications with AWS IoT - Technical 301
Developing Connected Applications with AWS IoT - Technical 301Developing Connected Applications with AWS IoT - Technical 301
Developing Connected Applications with AWS IoT - Technical 301
 
Swagger / Quick Start Guide
Swagger / Quick Start GuideSwagger / Quick Start Guide
Swagger / Quick Start Guide
 
Amazon Personalize 소개 (+ 실습 구성)::김영진, 솔루션즈 아키텍트, AWS::AWS AIML 스페셜 웨비나
Amazon Personalize 소개 (+ 실습 구성)::김영진, 솔루션즈 아키텍트, AWS::AWS AIML 스페셜 웨비나Amazon Personalize 소개 (+ 실습 구성)::김영진, 솔루션즈 아키텍트, AWS::AWS AIML 스페셜 웨비나
Amazon Personalize 소개 (+ 실습 구성)::김영진, 솔루션즈 아키텍트, AWS::AWS AIML 스페셜 웨비나
 
BDD: Cucumber + Selenium + Java
BDD: Cucumber + Selenium + JavaBDD: Cucumber + Selenium + Java
BDD: Cucumber + Selenium + Java
 
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [6시내고양포CAT몬] : Cat Anti-aging Project based Style...
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [6시내고양포CAT몬] : Cat Anti-aging Project based Style...제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [6시내고양포CAT몬] : Cat Anti-aging Project based Style...
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [6시내고양포CAT몬] : Cat Anti-aging Project based Style...
 
Amazon SNS로 지속적 관리가 가능한 대용량 푸쉬 시스템 구축 여정 - AWS Summit Seoul 2017
Amazon SNS로 지속적 관리가 가능한 대용량 푸쉬 시스템 구축 여정 - AWS Summit Seoul 2017Amazon SNS로 지속적 관리가 가능한 대용량 푸쉬 시스템 구축 여정 - AWS Summit Seoul 2017
Amazon SNS로 지속적 관리가 가능한 대용량 푸쉬 시스템 구축 여정 - AWS Summit Seoul 2017
 
AWS Lambda를 기반으로한 실시간 빅테이터 처리하기
AWS Lambda를 기반으로한 실시간 빅테이터 처리하기AWS Lambda를 기반으로한 실시간 빅테이터 처리하기
AWS Lambda를 기반으로한 실시간 빅테이터 처리하기
 
오토스케일링 제대로 활용하기 (김일호) - AWS 웨비나 시리즈 2015
오토스케일링 제대로 활용하기 (김일호) - AWS 웨비나 시리즈 2015오토스케일링 제대로 활용하기 (김일호) - AWS 웨비나 시리즈 2015
오토스케일링 제대로 활용하기 (김일호) - AWS 웨비나 시리즈 2015
 
[백서] Google 드라이브에서 다운로드 방지할수 있을까
[백서] Google 드라이브에서 다운로드 방지할수 있을까 [백서] Google 드라이브에서 다운로드 방지할수 있을까
[백서] Google 드라이브에서 다운로드 방지할수 있을까
 
CSS Dasar #10 : Specificity
CSS Dasar #10 : SpecificityCSS Dasar #10 : Specificity
CSS Dasar #10 : Specificity
 
AWS Single Sign-On (SSO) 서비스 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
AWS Single Sign-On (SSO) 서비스 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나AWS Single Sign-On (SSO) 서비스 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
AWS Single Sign-On (SSO) 서비스 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
 
자바를 잡아주는 GURU가 있다구!? - 우여명 (아이스크림에듀) :: AWS Community Day 2020
자바를 잡아주는 GURU가 있다구!? - 우여명 (아이스크림에듀) :: AWS Community Day 2020 자바를 잡아주는 GURU가 있다구!? - 우여명 (아이스크림에듀) :: AWS Community Day 2020
자바를 잡아주는 GURU가 있다구!? - 우여명 (아이스크림에듀) :: AWS Community Day 2020
 

Similar to Vue 뽀개기 1장 환경설정 및 spa설정

Internship backend
Internship backendInternship backend
Internship backendYein Sim
 
Spring Boot + React + Gradle in VSCode
Spring Boot + React + Gradle in VSCodeSpring Boot + React + Gradle in VSCode
Spring Boot + React + Gradle in VSCodedpTablo
 
도구를 활용한 더 나은 웹 개발: Yeoman
도구를 활용한 더 나은 웹 개발: Yeoman도구를 활용한 더 나은 웹 개발: Yeoman
도구를 활용한 더 나은 웹 개발: YeomanJae Sung Park
 
[IoT] MAKE with Open H/W + Node.JS - 3rd
[IoT] MAKE with Open H/W + Node.JS - 3rd[IoT] MAKE with Open H/W + Node.JS - 3rd
[IoT] MAKE with Open H/W + Node.JS - 3rdPark Jonggun
 
01.개발환경 교육교재
01.개발환경 교육교재01.개발환경 교육교재
01.개발환경 교육교재Hankyo
 
Vue guide v0.1
Vue guide v0.1Vue guide v0.1
Vue guide v0.1DataUs
 
Web assembly 맛보기
Web assembly 맛보기Web assembly 맛보기
Web assembly 맛보기GyeongSeok Seo
 
빌드관리 및 디버깅 (2010년 자료)
빌드관리 및 디버깅 (2010년 자료)빌드관리 및 디버깅 (2010년 자료)
빌드관리 및 디버깅 (2010년 자료)YEONG-CHEON YOU
 
Data-binding AngularJS
Data-binding AngularJSData-binding AngularJS
Data-binding AngularJSEunYoung Kim
 
Single-page Application
Single-page ApplicationSingle-page Application
Single-page ApplicationSangmin Yoon
 
웹 Front-End 실무 이야기
웹 Front-End 실무 이야기웹 Front-End 실무 이야기
웹 Front-End 실무 이야기JinKwon Lee
 
Yeoman(모던웹 개발을 위한 관리도구)설치사용가이드
Yeoman(모던웹 개발을 위한 관리도구)설치사용가이드Yeoman(모던웹 개발을 위한 관리도구)설치사용가이드
Yeoman(모던웹 개발을 위한 관리도구)설치사용가이드수정 김
 
Front end dev 2016 & beyond
Front end dev 2016 & beyondFront end dev 2016 & beyond
Front end dev 2016 & beyondJae Sung Park
 
게임 개발에 도움을 주는 CruiseControl.NET과 Windows Terminal
게임 개발에 도움을 주는 CruiseControl.NET과 Windows Terminal게임 개발에 도움을 주는 CruiseControl.NET과 Windows Terminal
게임 개발에 도움을 주는 CruiseControl.NET과 Windows TerminalOnGameServer
 
[17.01.19] docker introduction (Korean Version)
[17.01.19] docker introduction (Korean Version)[17.01.19] docker introduction (Korean Version)
[17.01.19] docker introduction (Korean Version)Ildoo Kim
 
구글앱엔진+스프링+스프링datajpa+메이븐
구글앱엔진+스프링+스프링datajpa+메이븐구글앱엔진+스프링+스프링datajpa+메이븐
구글앱엔진+스프링+스프링datajpa+메이븐라한사 아
 
Project anarchy로 3 d 게임 만들기 part_1
Project anarchy로 3 d 게임 만들기 part_1Project anarchy로 3 d 게임 만들기 part_1
Project anarchy로 3 d 게임 만들기 part_1Dong Chan Shin
 
TOAST Meetup2015 - 구름 Cloud IDE (류성태)
TOAST Meetup2015 - 구름 Cloud IDE (류성태)TOAST Meetup2015 - 구름 Cloud IDE (류성태)
TOAST Meetup2015 - 구름 Cloud IDE (류성태)TOAST_NHNent
 

Similar to Vue 뽀개기 1장 환경설정 및 spa설정 (20)

Internship backend
Internship backendInternship backend
Internship backend
 
Spring Boot + React + Gradle in VSCode
Spring Boot + React + Gradle in VSCodeSpring Boot + React + Gradle in VSCode
Spring Boot + React + Gradle in VSCode
 
도구를 활용한 더 나은 웹 개발: Yeoman
도구를 활용한 더 나은 웹 개발: Yeoman도구를 활용한 더 나은 웹 개발: Yeoman
도구를 활용한 더 나은 웹 개발: Yeoman
 
[IoT] MAKE with Open H/W + Node.JS - 3rd
[IoT] MAKE with Open H/W + Node.JS - 3rd[IoT] MAKE with Open H/W + Node.JS - 3rd
[IoT] MAKE with Open H/W + Node.JS - 3rd
 
Node.js intro
Node.js introNode.js intro
Node.js intro
 
01.개발환경 교육교재
01.개발환경 교육교재01.개발환경 교육교재
01.개발환경 교육교재
 
Vue guide v0.1
Vue guide v0.1Vue guide v0.1
Vue guide v0.1
 
Web assembly 맛보기
Web assembly 맛보기Web assembly 맛보기
Web assembly 맛보기
 
빌드관리 및 디버깅 (2010년 자료)
빌드관리 및 디버깅 (2010년 자료)빌드관리 및 디버깅 (2010년 자료)
빌드관리 및 디버깅 (2010년 자료)
 
Data-binding AngularJS
Data-binding AngularJSData-binding AngularJS
Data-binding AngularJS
 
요즘웹개발
요즘웹개발요즘웹개발
요즘웹개발
 
Single-page Application
Single-page ApplicationSingle-page Application
Single-page Application
 
웹 Front-End 실무 이야기
웹 Front-End 실무 이야기웹 Front-End 실무 이야기
웹 Front-End 실무 이야기
 
Yeoman(모던웹 개발을 위한 관리도구)설치사용가이드
Yeoman(모던웹 개발을 위한 관리도구)설치사용가이드Yeoman(모던웹 개발을 위한 관리도구)설치사용가이드
Yeoman(모던웹 개발을 위한 관리도구)설치사용가이드
 
Front end dev 2016 & beyond
Front end dev 2016 & beyondFront end dev 2016 & beyond
Front end dev 2016 & beyond
 
게임 개발에 도움을 주는 CruiseControl.NET과 Windows Terminal
게임 개발에 도움을 주는 CruiseControl.NET과 Windows Terminal게임 개발에 도움을 주는 CruiseControl.NET과 Windows Terminal
게임 개발에 도움을 주는 CruiseControl.NET과 Windows Terminal
 
[17.01.19] docker introduction (Korean Version)
[17.01.19] docker introduction (Korean Version)[17.01.19] docker introduction (Korean Version)
[17.01.19] docker introduction (Korean Version)
 
구글앱엔진+스프링+스프링datajpa+메이븐
구글앱엔진+스프링+스프링datajpa+메이븐구글앱엔진+스프링+스프링datajpa+메이븐
구글앱엔진+스프링+스프링datajpa+메이븐
 
Project anarchy로 3 d 게임 만들기 part_1
Project anarchy로 3 d 게임 만들기 part_1Project anarchy로 3 d 게임 만들기 part_1
Project anarchy로 3 d 게임 만들기 part_1
 
TOAST Meetup2015 - 구름 Cloud IDE (류성태)
TOAST Meetup2015 - 구름 Cloud IDE (류성태)TOAST Meetup2015 - 구름 Cloud IDE (류성태)
TOAST Meetup2015 - 구름 Cloud IDE (류성태)
 

Recently uploaded

(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?Jay Park
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP Korea
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석JMP Korea
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP Korea
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화JMP Korea
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP Korea
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP Korea
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법JMP Korea
 

Recently uploaded (8)

(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법
 

Vue 뽀개기 1장 환경설정 및 spa설정

  • 1. Vue.js 뽀개기 1장 환경설정 Vue.js 환경설정 및 라우팅 설정
  • 2. 1. 설치 파일 목록 • visual studio code 설치 • code.visualstudio.com/Download • node.js설치 • https://nodejs.org/ko/download/ • vue cli 설치 • npm install -g @vue/cli
  • 3. 1-1. VSCode 설치 • https://code.visualstudio.com/Download • 자신의 환경에 맞는 편집프로그램을 다운로드 한다. 굳이 VSCode로 환경을 할 필요없이 자주 사용하는 편집프로그램을 사용해도 무관하다.
  • 4. 1-2. Node.js설치 • https://nodejs.org/ko/download/ • 마찬가지로 Node.js도 자신의 환경에 맞게 설치하면 된다. Node.js는 자바스크립트를 실행하는 런타임이고, Vue는 화면을 그리는 프레임워크이다. - Node.js는 비유하자면 요리를 만드는 식자재들이라 표현 할 수 있을 것 같고, Vue는 식자재를 조달 받아 요리해주어 내보내는 것과 비유를 해볼 수 있을 것 같다.
  • 5. 1-3. Vue CLI 설치 • 커맨드 창에서 npm으로 install 해주자. • npm install –g @vue/cli 명령어를 실행하여 설치 • 정상적으로 설치되었는지 확인(vue – version) • Vue-cli는 기본 vue 개발환경을 설정해주는 도구이다. • 프로젝트의 폴더구조에 대한 고민, lint, build, 어떤 라이브러리로 구성을 해야 하는지 webpack 설정 등 고민을 덜을 수 있다. • CLI(Command Line Interface) 터미널을 통해 사용자와 컴퓨터가 상호 작용하는 방식을 뜻한다. • npm 또는 yarn을 사용할 수 있다. (해당 설명에서는 npm을 사용함)
  • 6. 1-4. Vue.js devtools 설치 • Vue.js devtools 설치 이유는 디버깅을 쉽게 하도록 하기 위해서이다. 크롬 브라우저에서만 지원하고 있으며, 설치 후 웹 페이지에 들어가면 사용할 수 있다. • 주의사항 • - vue.js 를 사용하여 코드를 작성하였음에도 Vue.js not detected라고 표시 되어 진다. 이유는? 로컬 경로 때문…
  • 7. 2-1. Vue.js 프로젝트 생성 및 플러그인 설치 • C: 하위의 workspace를 생성하고 해당경로로 이동(커맨드창에서 cmd) ex) cd:project워크스페이스 경로 • vue create 프로젝트명 명령어로 프로젝트 생성 - 실패 현상 정리 1. 커맨드 창에서 실행 시 프로젝트가 생성이 안되고 ERR를 내뱉고 menually 선택하라고 뜨게 될수도 있음. 엔터를 쳐서 진행되도록 해주면됨. 2. 허나 여기서도 ERR가 발생하고 진행이 안되는경우가 생길수 있음. 3. npm help를 쳐서 npm이 정상 설치되었는지 확인을 해본다. 4. 처리가 안되면 아래의 하위 플러그인들을 설치 후 VSCode를 재실행 해준다. - view-in-browser : html 파일을 기본 브라우저로 볼 수 있도록 함 - vetur: Vuew.js 작업시 편리한 기능들을 제공 (코드 자동완성, 디버깅, 하이라이팅 등...) - HTML Snippets: HTML 태그를 빠르게 작성할 수 있게 도와줌 - JS-CSS-HTML Formatters: JS, CSS, HTML의 코드 자동완성 기능을 제공(사용법 Ctrl + Space) - Vue 2 Snippets: Vue.js 2.0의 코드 지원 및 하이라이팅 기능을 제공 - Vue-beautify: Vue.js 코드에 대한 정리 배치 기능을 제공 - ESLint: 자바스크립트 코드 스타일, 문법 체크 기능을 제공 - Korean Language Pack for Vusual Studio Code : VsCode 한글 패치 (선택)
  • 8. 2-2. 플러그인 설치 • 마켓플레이스에서 추가 플러그인을 검색하여 설치를 진행한다.. • 플러그인 설치 후 재실행하고, 터미널에서 프로젝트를 생성 후 npm run serve 명령으로 생성한 프로젝트를 실행해 본다. • Localhost:8080 으로 실행한 화면을 확인해 본다.
  • 9. 2-3. Vue router 설치 • Npm install vue-router 명령어 실행 - 라우터? 웹 페이지간에 이동하는 방법. 특정 버튼을 누르거나 특정페이지로 이동을 할 시 한 페이지에서 새로고침 처럼 특정영역만 갱신 해주는 역할. ※서버에서 URL 매핑이 SPA 페이지에 적절하게 이루어진 경우, URL을 브라우저 창에 직접 입력하여 접속하는 것도 가능 - 스프링 부트 : SPA 라우트를 위한 URL 컨트롤러
  • 10. 2-4. bootstrap-vue 설치 • Npm install vue bootstrap-vue bootstrap 명령어 실행 - 패키지 연동으로 컴포넌트를 사용할 수 있음. Bootstrap-vue.org로 이동하여 보면 도큐먼트가 잘되어있다. Components에 Navbar를 이용하여 상단의 헤더를 만들어 테스트 샘플 소스로 사용해보겠다.
  • 11. 3-1. 프로젝트 생성 및 구조 설명 • 2-1의 위에서 설명과 같이 프로젝트 생성 명령어를 실행하여 프로젝트를 생성하게 되면 아래와 같은 구조의 프 로젝트가 생성이 된다. 1. 옆의 빨간 부분의 영역이 프로젝트가 생성이 되면 나타나는 구조이다. 2. src 하위에 views와 components하위의 layout을 추가 할 것이며, rotuer도 추가 하여 테스트를 진행해 보겠다. 3. 1차 목적은 한 화면의 특정영역에서 헤더는 고정으로 하고, 특정영역만 갱신 되도록 테스트를 진행해 보겠다.
  • 12. 3-2. 구조설명(components>layout) Components>layout 경로를 생성하여 Header.vue를 생성 - main화면의 헤더로 사용할 영역을 생성 해줌. - bootstrap-vue.org의 Components의 Navbar의 샘플소스를 복사하여 헤더로 사용 할것이다. - Header.vue파일에 <template>영역과 <script>영역을 선언해준다. - 복사한 Navbar 샘플소스를 템플릿안에 넣고 스크립트 영역에 사용할 템플릿 이름을 header로 넣어준다.
  • 13. 3-3. 구조설명(src>views) Views하위의 Home.vue 파일과 About.vue파일을 생성 - Home파일은 경로값이 없을경우 메인화면으로 사용되도록 생성. - About파일은 파일의 경로가 about이면 이동되도록 화면을 생성. Header.vue파일에서와 마찬가지로 html코드는 template영역 안에, 그리고 처리되는 이벤트는 스크립트 영역 안으로 코딩하면된다.
  • 14. 3-4. 구조설명(router.js) • Vue-router 설정 - 플러그인을 설치만 하였고, 사용하도록 설정을 해주지 않았다. - vue-router를 사용할수있도록 import해주고, router를 선언도 해준다. - 호출하는 페이지도 사용할 수 있도록 경로를 지정해준다. - 하단의 const router를 선언해주고, 디폴트 router를 선언해주지 않으면, router를 선언은 했지만 읽을 수 없다는 warning이 발생한다. 선언을 하면 읽을 수 있도록 export 해주자. Routs로 선언한 영역에 path가 없으면 Home화면을 path경로가 About이면 About화면을 호출하도록 지정해준다.
  • 15. 3-5. 구조설명(App.vue) App.vue파일의 영역에 헤더와 라우팅 부분 수정 - Header컴포넌트를 사용할수 있도록 경로를 import해주고, 템플릿 부분에 헤더영역으로 사용하고자 하는 부분에 입력. - 한 화면에서 특정영역을 갱신해줄 router-view영역도 지정.
  • 16. 3-6. 구조설명(main.js) Main.js에 설치한 bootstrap을 사용하도록 import 함 - bootstrap을 사용할 수 있게 선언을 해주고, css도 사용할 수 있도록 import해준다. - 보여주는 Vue영역에 roter영역이 갱신될 수 있도록 import한 router를 추가해주어 mount되도록 함. - 터미널에서 npm run serve로 프로젝트를 실행 Home화면이 뜨는지 localhost:8080 url을 띄워 확인 한다. About경로를 입력하여 화면이 갱신되는 것을 확인한다.