vue工程化与路由router

一、介绍

    vue.js 是 目前 最火的前端框架,vue.js 兼具 angular.js 和 react.js 的优点,并剔除它们的缺点。并且提供了很多的周边配套工具 如vue-router 、vue-resource 、vuex等等  
通过他们我们可以很轻松的构建一个大型单页应用。目前Vue版本为Vue2.0 ;官网地址http://vuejs.org.cn/;查看API文档https://vuefe.cn/v2/api/;对比其他框架http://vuejs.org.cn/guide/comparison.html
 
二、环境搭建

使用vue-cli脚手架工具构建

      #安装 vue-cli

npm install -g vue-cli

    #使用vue-cli初始化项目

vue init webpack vue-vuerouter-demo

    #进到目录

cd vue-vuerouter-demo

    #安装依赖   

npm install

    #开始运行  

npm run dev

    浏览器访问http://localhost:8080

    构建完成之后基本目录结构如下:

    

    流程说明:

    1、首先会打开首页 也就是我们看到的index.html文件

    2、使用webpack打包之后默认加载main.js文件并将其引入到index.html文件中

 
 
(3)开发
    ①在main.js文件中引入相关模块以及组件
import Vue from 'vue'
import App from './App'
import router from './router'    //这里引入的是router目录,会默认识别里面的index.js文件(不能是其他名字)

// 引入并使用vue-resource网络请求模块
import VueResource from 'vue-resource'
Vue.use(VueResource)

    ②实例化vue对象配置选项路由及渲染App组件

new Vue({
  el: '#app', /* 绑定到#app上 */
  router,
  components: { App },/* 注册了一个全局组件App.vue */
  template: '<App/>'/* 渲染在模板上 */
})

    ③App.vue文件是我们的组件入口,之后所有的开发在这里面进行

<template>
  <div id="app">
    <!-- <hello></hello> -->
    <div class="nav">
         <!-- 使用 router-link 组件来导航. -->
        <!-- 通过传入 `to` 属性指定链接. -->
        <!-- <router-link> 默认会被渲染成一个 `<a>` 标签 -->
        <ul>
          <li><router-link to="/home">Home</router-link></li>
          <li><router-link to="/about">About</router-link></li>
        </ul>
    </div>
     <div class="main">
       <!-- 路由匹配到的组件将渲染在这里 -->
       <router-view></router-view>
     </div>
  </div>
</template>

<script>
// import Hello from './components/Hello'
export default {
  name: 'app'
}
</script>

    ④要使用路由我们首先要在router/index.js文件中创建路由并配置路由映射 ,并通过export输出router到main.js文件中

// 这里面负责写路由映射,便于管理


// 引入路由模块并使用它
import Vue from 'vue'
import VueRouter from 'vue-router'
Vue.use(VueRouter)



// 创建路由实例并配置路由映射  
// path:'*',redirect:'/home'  重定向到path是/home的映射
const router = new VueRouter({
  routes:[{
      path: '/home', component: require('../components/Home.vue')
  },{
      path: '/about', component: require('../components/About.vue')
  },{
      path:'*',redirect:'/home'
  }]
})


// 输出router
export default router;

    上面配置了2个组件映射 分别Hme.vue组件和About组件,配置好之后我们就可以开始使用路由了

    或者另一种写法

import HelloWorld from '@/components/HelloWorld'
import Home from '@/components/Home'
import About from '@/components/About'

Vue.use(Router)

export default new Router({
  //mode: 'history',
  routes: [
    {
      path: '/hello',
      name: 'HelloWorld',
      component: HelloWorld
    },
    {
      path:'/home',
      name:'Home',
      component:Home
    },
    {
      path:'/about',
      name:'About',
      component:About
    },
    {
      path:'*',
      redirect:'/home'
    }
  ]
})

    ⑤上面配置了2个组件映射 分别Hme.vue组件和About组件,配置好之后我们就可以开始使用路由了

        <!-- 使用 router-link 组件来导航. -->
        <!-- 通过传入 `to` 属性指定链接. -->
        <!-- <router-link> 默认会被渲染成一个 `<a>` 标签 -->
        <ul>
          <li><router-link to="/home">Home</router-link></li>
          <li><router-link to="/about">About</router-link></li>
        </ul>
<!-- 路由匹配到的组件将渲染在这里 -->
<router-view></router-view>

    点击home和about导航会映射到对应的组件,然后将组件渲染在</router-view>这里面。到此,整个流程我们已经走通了。

 

 

 

 

 

 

 
 
 
 
 
 
 
.
posted @ 2019-04-03 23:50  剑仙6  阅读(366)  评论(0编辑  收藏  举报
欢迎访问个人网站www.qingchun.在线