[vue.js] vue-router 사용하기
Language/Vue.js2021. 8. 1. 10:06

vue-router 설치 및 활용방법 입니다.
설치하기
npm install vue-router
package.json 파일 14라인에 vue-router가 추가 되었습니다.
{
"name": "vue2",
"version": "0.1.0",
"private": true,
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint"
},
"dependencies": {
"core-js": "^3.6.5",
"element-ui": "^2.15.3",
"vue": "^2.6.11",
"vue-router": "^3.5.2"
},
"devDependencies": {
"@vue/cli-plugin-babel": "~4.5.0",
"@vue/cli-plugin-eslint": "~4.5.0",
"@vue/cli-service": "~4.5.0",
"babel-eslint": "^10.1.0",
"eslint": "^6.7.2",
"eslint-plugin-vue": "^6.2.2",
"vue-template-compiler": "^2.6.11"
},
"eslintConfig": {
"root": true,
"env": {
"node": true
},
"extends": [
"plugin:vue/essential",
"eslint:recommended"
],
"parserOptions": {
"parser": "babel-eslint"
},
"rules": {}
},
"browserslist": [
"> 1%",
"last 2 versions",
"not dead"
]
}
아래와 같이 디렉토리 (src/router)를 구성하고 basic.js , index.js 파일을 생성합니다.
├── src
│ ├── App.vue
│ ├── assets
│ │ └── logo.png
│ ├── components
│ │ ├── HelloWorld.vue
│ │ └── Page1.vue
│ ├── main.js
│ └── router
│ ├── basic.js
│ └── index.js
router/index.js : 여러개의 router를 import 하는 역할을 담당합니다.
/* eslint-disable */
import Vue from 'vue'
import Router from 'vue-router'
import basic from "@/router/basic";
Vue.use(Router)
export default new Router({
mode: 'hash',
routes: [
...basic
]
})
router/basic.js : 기본 router 입니다. 내용이 추가될때 마다 이곳에 컴포넌트를 추가하여 path에 사용하는 컴포넌트를 정의합니다.
import HelloWorld from "@/components/HelloWorld";
import Page1 from "@/components/Page1";
const basic = [
{path: '/', name: 'index', component: HelloWorld},
{path: '/hello-world', name: 'HelloWorld', component: HelloWorld},
{path: '/page1', name: 'Page1', component: Page1},
];
export default basic;
Page1.vue 파일을 생성합니다.
<template>
<div id="app">
{{ page1 }}
</div>
</template>
<script>
export default {
name: 'Page1',
data() {
return {
page1 : "test router",
}
}
}
</script>
<style scoped></style>
main.js 파일을 아래와 같이 수정합니다.
import Vue from 'vue'
import Element from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
import router from './router'
import App from './App.vue'
Vue.config.productionTip = false
Vue.use(Element, { size: 'small', zIndex: 3000 });
new Vue({
router,
render: h => h(App),
}).$mount('#app')
그리고 나서 build 하여 실행해보면 아래와 같은 페이지를 확인할수 있습니다.
hello-world
page1
'Language > Vue.js' 카테고리의 다른 글
| [vue.js][App] FontAwesome 아이콘 종류 검색 (0) | 2021.08.19 |
|---|---|
| [vue.js] FontAwesome 폰트어썸 사용 (0) | 2021.08.19 |
| [vue.js] BASE_URL public_path 변경하기 (0) | 2021.08.01 |
| [vue.js] vue element-ui(ui 컴포넌트) 설치 및 사용 (0) | 2021.07.31 |
| [vue.js] 컴포넌트 (0) | 2021.07.26 |
댓글()







