캡틴판교님의 Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex강의를 정리했습니다.
매일 20분 야금야금 Vue.js 중급 화이팅.
IDE: Visual Studio Code
크롬 뷰 개발자 도구: Vue.js devtools
/src/components/ 하위에 만들고, div태그를 만들어둔다.
template 에 컴포넌트를 추가할 때, 공식 스타일 가이드에서는 todo-header 를 권장한다.
<todo-header></todo-header>
아래 형태도 똑같은 기능을 하지만, 기존 HTML코드보다는 눈에 잘띈다는 장점이 있어서 이렇게 쓰기로 하자.
<TodoHeader></TodoHeader>
<template>
<div id="app">
<TodoHeader></TodoHeader>
<TodoInput></TodoInput>
<TodoList></TodoList>
<TodoFooter></TodoFooter>
</div>
</template>
<script>
import TodoFooter from './components/TodoFooter.vue'
import TodoHeader from './components/TodoHeader.vue'
import TodoInput from './components/TodoInput.vue'
import TodoList from './components/TodoList.vue'
export default {
components: { TodoHeader, TodoInput, TodoList, TodoFooter },
}
</script>
<style>
</style>
주의
프로젝트명/public/index.html 에 추가한다.
viewport meta 태그를 구글링 해서 가져온다
<meta name="viewport" content="width=device-width, initial-scale=1.0">
파비콘 생성 사이트접속
/src/assets/logo.png 넣고 16x16 만들기 -> favicon.ico가 생성된다.
/src/assets/favicon.ico 에 위치하기
제공된 태그를 head 태그 내에 넣는다
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
<link rel="icon" href="/favicon.ico" type="image/x-icon">
<link rel="stylesheet" href="https://pro.fontawesome.com/releases/v5.10.0/css/all.css" integrity="sha384-AYmEC3Yw5cVb3ZcuHtOA93w35dYTsvhLPVnYs9eStHfGJvOvKxVfELGroGkvsg+p" crossorigin="anonymous"/>
하단에 보면 index.html에 app이라는 div태그가 있다.
뷰 인스턴스가 index.html 내부에 포함되어 있다.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=<device-width>, initial-scale=1.0">
<link rel="shortcut icon" href="src/assets/favicon.ico" type="image/x-icon">
<link rel="icon" href="src/assets/favicon.ico" type="image/x-icon">
<link rel="stylesheet" href="https://pro.fontawesome.com/releases/v5.10.0/css/all.css" integrity="sha384-AYmEC3Yw5cVb3ZcuHtOA93w35dYTsvhLPVnYs9eStHfGJvOvKxVfELGroGkvsg+p"
crossorigin="anonymous"/>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Ubuntu:wght@300&display=swap" rel="stylesheet">
<title>Document</title>
</head>
<body>
<div id="app">
</div>
<script src="/dist/build.js"></script>
</body>
</html>
main.js는 뷰 프로젝트에서 가장 먼저 실행되는 파일이다.
뷰 인스턴스를 만들어서 app이라는 이름의 태그에 넣어준다.
webpack에 관한 이해가 필요한 부분이므로 프로젝트 완성후에 시간을 들여 공부하자.
import Vue from 'vue'
import App from './App.vue'
Vue.config.productionTip = false
new Vue({
render: h => h(App),
}).$mount('#app')
다음 시간에는 TodoHeader 컴포넌트를 구현한다.