# 入门
## 引入组件
**示例:**
``` javascript {8,9,15}
// @/main.js 入口
// router-tab 组件依赖 vue 和 vue-router
import Vue from 'vue'
import Router from 'vue-router'
// 引入组件和样式
import RouterTab from 'vue-router-tab'
import 'vue-router-tab/dist/lib/vue-router-tab.css'
import App from './App.vue'
import router from './router'
Vue.config.productionTip = false
Vue.use(RouterTab)
new Vue({
router,
render: (h) => h(App)
}).$mount('#app')
```
## 应用组件
配置参考: [RouterTab Props](../../api/README.md#routertab-props)
::: danger
`RouterTab` 仅支持单例模式,请勿在同一个页面中引入多个 `RouterTab` 组件!
:::
**示例:**
``` html {6}
```
## 路由配置
1. 引入 `RouterTab` 内置路由以支持[操作 iframe 页签](operate.md#iframe-页签操作)
2. 通过路由的 `meta` 信息,来设置页签的**标题**、**图标**、**提示**和**路由页签规则**
配置参考: [Route.meta 路由元信息](../../api/README.md#route-meta-路由元信息)
**示例:**
``` javascript {6,9,22,25,28,33,34,35,36}
// @/router.js 路由
import Vue from 'vue'
import Router from 'vue-router'
// RouterTab 内置路由
import { RouterTabRoutes } from 'vue-router-tab'
// 引入布局框架组件
import Frame from './components/layout/Frame.vue'
// 异步加载页面组件
const importPage = view => () => import(/* webpackChunkName: "p-[request]" */ `./views/${view}.vue`)
Vue.use(Router)
export default new Router({
routes: [{
path: '/',
redirect: '/page1',
// 父路由组件内必须包含
component: Frame,
// 子路由里配置需要通过页签打开的页面路由
children: [
// 引入 RouterTab 内置路由以支持操作 iframe 页签
...RouterTabRoutes,
{
path: '/page/:id',
component: importPage('Page'),
meta: {
title: '页面', // 页签标题
icon: 'icon-user', // 页签图标,可选
tips: '这是一个页面', // 页签提示,可选,如未设置则跟title一致
aliveId: 'fullPath', // 路由打开页签规则,可选
}
},
{
path: '/404',
component: importPage('404'),
meta: {
title: '找不到页面',
icon: 'icon-page'
}
},
{
path: '*',
redirect: '/404'
}
]
}
```