当前位置: 首页 > news >正文

攻克vue路由

先下手

  路由是个好功能,但是每次都感觉没法开始下手,愣愣的看半天官方文档,所以做个快速开始教程。

  首先先搭好HTML文件结构:

    <!--link和view在一个父元素下-->
    <div id="aside">
        <ul>
            <!--这里是锚链接-->
            <li>
                <router-link to='/fn1'>111</router-link>
            </li>
            <li>
                <router-link to='/fn2'>222</router-link>
            </li>
        </ul>
        <div id="content">
            <!--这里是路由渲染视图-->
            <router-view></router-view>
        </div>
    </div>

  然后开始配置JS文件:

//生成一个路由实例
const router = new VueRouter({
    //路径配置
    routes: [
        { path: '/fn1', component: { template: '<div>111</div>' } },
        { path: '/fn2', component: { template: '<div>222</div>' } }
    ]
});
//挂载到对应DOM节点 并传入路由
new Vue({
    el: '#aside',
    router,
})

  很好,一个简陋的路由搭建完成。

  

  前面的都是胡扯,现在开始正常紧急回顾教程!

  首先来个主线任务。

  router => .vue => webpack,大概就是这么个样子,vue路由配合.vue单文件组件,单文件组件需要webpack进行loader处理。

  所以头疼啊,开始一步一步写。

  服务器配置不需要改,主要是入口JS需要进行处理。

  首先是main.js,包含vue实例挂载和路由映射配置,反正先暂时写到一起。

//引入一个简单的vue组件
import v from '../vue/index.vue';

//生成一个路由实例
const router = new VueRouter({
    //路径配置
    routes: [
        { path: '/fn1', component: v },
        { path: '/fn2', component: { template: '<div>222</div>' } }
    ]
});

//挂载到对应DOM节点 并传入路由
new Vue({
    el: "#box",
    router
});

 

  这里面无论是import还是vue组件都是无法识别的,必须要通过babel转。

  这里放上webpack的配置。

var path = require('path');
var webpack = require('webpack');

module.exports = {
    //入口文件为刚才的main.js
    entry: './static/js/main.js',
    //随便找个地方输出 
    output: {
        path: path.resolve(__dirname, './static'),
        publicPath: '/static/',
        filename: 'main.js'
    },
    module: {
        rules: [
            //处理vue单文件
            {
                test: /\.vue$/,
                loader: 'vue-loader'
            },
            //处理import等语法
            {
                test: /\.js$/,
                loader: 'babel-loader',
                exclude: /node_modules/
            },
            //暂时用不到
            {
                test: /\.css$/,
                loader: 'style-loader!css-loader'
            }
        ]
    },
    //路径简化
    resolve: {
        alias: {
            'vue$': 'vue/dist/vue.common.js',
            'vue-router$': 'vue-router/dist/vue-router.common.js',
        }
    },
    //     devtool: '#eval-source-map'
}

  大部分是从以前的配置中抄过来的,有些暂时用不上,主要核心内容是babel-loader和vue-loader,并配置相关的入口出口文件。

  vue文件随便写的

<template>
      <h1>Hello World</h1>
</template>

  在目录输入webpack指令后,会生成一个js文件,直接引用,可以看到成功了!

Hello World

  (懒得截图了,反正成功了就是)

 

转载于:https://www.cnblogs.com/QH-Jimmy/p/6509994.html

相关文章:

  • 如何设置光驱启动
  • 三个臭皮匠顶个诸葛亮的随机森林算法!
  • String类的几个方法
  • 捡石子---贪心算法(huffman)
  • HTML特殊字符编码对照表
  • Flex中ArrayCollection的复制(克隆)
  • mysql表的复制
  • 作用域与作用域链
  • 批量修改SQL数据库字段值
  • [C#7] 1.Tuples(元组)
  • flex z-order错误解决
  • css居中小结
  • Flex的DataGrid中时间如何格式化
  • 买卖股票最佳时机
  • parentApplication 和parentDocument 的区别
  • SegmentFault for Android 3.0 发布
  • [NodeJS] 关于Buffer
  • 【140天】尚学堂高淇Java300集视频精华笔记(86-87)
  • create-react-app项目添加less配置
  • C语言笔记(第一章:C语言编程)
  • Electron入门介绍
  • jquery cookie
  • SpringCloud(第 039 篇)链接Mysql数据库,通过JpaRepository编写数据库访问
  • SQLServer之创建数据库快照
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • 飞驰在Mesos的涡轮引擎上
  • 关于Android中设置闹钟的相对比较完善的解决方案
  • 记一次用 NodeJs 实现模拟登录的思路
  • 力扣(LeetCode)56
  • 如何优雅地使用 Sublime Text
  • 使用 QuickBI 搭建酷炫可视化分析
  • 使用SAX解析XML
  • 王永庆:技术创新改变教育未来
  • 原生 js 实现移动端 Touch 滑动反弹
  • 深度学习之轻量级神经网络在TWS蓝牙音频处理器上的部署
  • Redis4.x新特性 -- 萌萌的MEMORY DOCTOR
  • #define用法
  • ( 用例图)定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现
  • (11)MATLAB PCA+SVM 人脸识别
  • (4)事件处理——(7)简单事件(Simple events)
  • (C#)if (this == null)?你在逗我,this 怎么可能为 null!用 IL 编译和反编译看穿一切
  • (C++17) std算法之执行策略 execution
  • (Forward) Music Player: From UI Proposal to Code
  • (zt)最盛行的警世狂言(爆笑)
  • (顶刊)一个基于分类代理模型的超多目标优化算法
  • (二)换源+apt-get基础配置+搜狗拼音
  • (力扣)循环队列的实现与详解(C语言)
  • (南京观海微电子)——I3C协议介绍
  • (三分钟了解debug)SLAM研究方向-Debug总结
  • (十) 初识 Docker file
  • (十六)一篇文章学会Java的常用API
  • (原)Matlab的svmtrain和svmclassify
  • (中等) HDU 4370 0 or 1,建模+Dijkstra。
  • (转)【Hibernate总结系列】使用举例
  • (转)memcache、redis缓存