1、下载axios
npm i -S axios
2、在 main.js导入使用axios,因为是用的比较多,所以采用的是全局引入,挂载到原型的方式
import axios from 'axios'
Vue.prototype.axios = axios // 挂载到原型,可在全局使用
1、下载vue-router
npm i vue-router@3.5.3 -S
2、 配置路由(新建router文件夹和index.js文件)
import Vue from 'vue'
import Router from 'vue-router'
import Home from '../components/Home.vue'
Vue.use(Router)
export default new Router({routes: [{path: '/',component: Home}],mode: 'history'
})
3、 挂载使用
import Vue from 'vue'
import App from './App.vue'
import '../plugins/element'
import 'font-awesome/css/font-awesome.min.css'
import axios from 'axios'
import router from './router/index'
//或者这样导入:会自动找到index文件
//import router from './router'
Vue.config.productionTip = false
Vue.prototype.axios = axiosnew Vue({router,render: h => h(App),
}).$mount('#app')
4、使用:在App.vue设置路由出口
这样访问才有你内容:ps此前访问的一直是http://localhost:8080
我们在路由中通常会定义很多不同的页面。如果不应用懒加载的话,很多页面都会打包到同一个js文件中,文件将会异常的大。造成进入首页时,需要加载的内容过多,时间过长,在浏览器中可能会出现短暂的空白页,从而降低用户体验,而运用路由懒加载是将各个模块分开打包,用户查看的时候再加载对应的模块,减少加载用时。
也就是:只加载你当前点击的那个模块。按需去加载路由对应的资源,提高首屏加载速度(tip:首页不用设置懒加载,而且一个页面加载过后再次访问不会重复加载)
实现1、:修改router文件夹下的index.js文件为下
官方推荐的方法,使用ES中的import:component: () => import('@/component/Home')
import Vue from 'vue'
import Router from 'vue-router'
Vue.use(Router)
export default new Router({routes: [{path: '/home',component: () => import('@/components/Home')}],mode: 'history'
})
前后对比:不许要先导入,后挂载。
实现2、: 使用Vue异步组件,修改router文件夹下的index.js文件为下
component: resolve => require(['@/components/Home'], resolve)
import Vue from 'vue'
import Router from 'vue-router'
Vue.use(Router)
export default new Router({routes: [{path: '/home',component: resolve => require(['@/components/Home'], resolve)}],mode: 'history'
})