Vue项目配置router.js流程分析讲解
一、查看版本号
查看vue-router依赖版本号,防止后面出现版本报错问题。
- 可以在package.json文件里查看vue或者vue-cli或者vue-router等等所有依赖的版本号
- 也可以通过
npm list vue || npm list vue -g
命令查看
二、下载或者卸载已有版本
1.推荐3.5.2稳定版本,我去官网下的新版出现了无法正常显示的情况
代码如下(示例):
卸载:npm uninstall vue-router
下载:npm install vue-router@3.5.2 // @xxx 自己指定版本
2.兼容问题
代码如下(示例):
Vue CLI 4.5以下,对应的是Vue2
Vue CLI 4.5及以上,对应的是Vue3,也可以手动选择Vue2 vue
3.0以下兼容的是element-ui前端组件库;
vue 3.0兼容的是element-plus前端组件库.
vue2搭配vue-router3
vue3搭配vue-router4
版本一定要对不然会出现“export ‘default‘ (imported as ‘VueRouter‘) was not found in ‘vue-router‘报错
配置完后,在class="lazy" data-src路径下创建一个router.js文件如图所示:
三、引入vue-router
router.js
import Vue from 'vue'
//引入Router
import Router from 'vue-router'
//elementui是我自己用的ui框架你如果不用可以不用引入
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
//引入需要展示的页面
import Home from '@/page/Home'
Vue.use(Router);
Vue.use(ElementUI);
const router =new Router({
routes:[
{
//配置页面的路径
path:'/page/Home',
//把上面import引入的组件名配置在这里,不然无法显示。
component:Home
},
]
})
//最后导出,因为要在main.js中引入
export default router
main.js
import Vue from 'vue';
import App from './App.vue';
import router from './router'
//这个是我引入的向后端请求的模块,你如果用的不是axios可以不用写
import axios from 'axios';
Vue.prototype.$http = axios;
Vue.config.productionTip = false;
new Vue({
router,
render: h => h(App),
}).$mount('#app')
四、router-view视图
其实到第三步的时候整个引入配置就已经结束了,但是你还是没办法看到内容,为什么呢,因为需要<router-view ></router-view>这个视图组件,你需要放在你想显示它的位置。
<template>
<div id="app">
<router-view ></router-view>
</div>
</template>
五、举个例子
这就配置结束了那要怎么使用呢
<template>
<div id="app">
<router-view ></router-view>
<button @click="tiaozhuan">跳转</button>
</div>
</template>
<script>
methods: {
tiaozhuan(){
this.$router.push('/page/Home');
}
}
</script>
总结
第一次配置,还是花了一些时间理解的,这个router目前我来看作用就是在不刷新页面的情况下进行一个页面跳转,中途还出现了无法正常显示的情况,最后发现是版本问题。还好解决了。希望能帮助到大家。
到此这篇关于Vue项目配置router.js流程分析讲解的文章就介绍到这了,更多相关Vue router.js内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341