下载APP
登录
关闭
讲堂
算法训练营
Python 进阶训练营
企业服务
极客商城
客户端下载
兑换中心
渠道合作
推荐作者
当前播放: 34 | 如何设计一个高扩展性的路由
00:00 / 00:00
标清
  • 标清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看

Vue开发实战

共53讲 · 53课时,约500分钟
10538
免费
01 | 课程介绍
免费
02 | Vue简介
免费
03 | 内容综述
免费
04 | 第一个Vue程序
免费
05 | 组件基础及组件注册
免费
06 | Vue组件的核心概念:事件
免费
07 | Vue组件的核心概:插槽
08 | 理解单文件组件
09 | 双向绑定和单向数据流不冲...
10 | 理解虚拟DOM及key属性的...
11 | 如何触发组件的更新
12 | 合理应用计算属性和侦听器
13 | 生命周期的应用场景和函数...
14 | 指令的本质是什么
15 | 常用高级特性provide/inj...
16 | 如何优雅地获取跨层级组件...
17 | template和JSX的对比以及...
18 | 为什么需要Vuex
19 | 如何在Vue中使用Vuex
20 | Vuex核心概念及底层原理
21 | Vuex最佳实践
22 | Vue Router的使用场景
23 | 选择何种模式的路由及底层...
24 | Nuxt解决了哪些问题?
25 | Nuxt核心原理是什么?
26 | UI组件库对比:Element U...
27 | 提升开发效率和体验的常用...
28 | 单元测试的重要性及其使用
29 | 生态篇习题解答(上)
30 | 生态篇习题解答(下)
31 | Ant Design Pro介绍
32 | 使用Vue CLI 3快速创建...
33 | 如何自定义Webpack和Babel...
34 | 如何设计一个高扩展性的路...
35 | 实现一个可动态改变的页面...
36 | 如何将菜单和路由结合
37 | 如何使用路由管理用户权限
38 | 更加精细化的权限设计(权...
39 | 如何在组件中使用ECharts...
40 | 如何高效地使用Mock数据进...
41 | 如何与服务端进行交互(Ax...
42 | 创建一个普通表单
43 | 初始数据、自动校验、动态...
44 | 创建一个分步表单
45 | 自己封装一个支持自动校验...
46 | 如何管理系统中使用的图标
47 | 如何定制主题及动态切换主...
48 | 如何做好国际化
49 | 如何高效地构建打包发布
50 | 如何构建可交互的组件文档
51 | 如何做好组件的单元测试
52 | 如何发布组件到npm
53 | GitHub相关生态应用(持续...

精选留言(34)

  • 2019-04-19
    老师您好,请问一下在生产环境下部署vue时,它的运行环境是在nodejs中吗?除了nodejs是否还有别的。我想做前后端分离,微服务为前端提供接口。谢谢🙏
    2
    5
  • 2019-04-18
    老师,我的命令行一直提示 npm audit fix 能解答下原因和解决方法吗
    1
    5
  • 2019-06-05
    由 localhost:8080/user 重定向到 localhost:8080/user/login 的实现,老师在代码里的实现是在 /user 的 children 里面新增 { path: "/user", redirect: "/user/login" }。而在地址栏输入 localhost:8080/user 时路由匹配的是 /user,因此我觉得把 redirect: "/user/login" 提升到 /user 上,逻辑上是否更清晰一点,毕竟做这一步的是 /user 而不是其 children。
    我尝试了是可行的,想问下这样做两者有没有规范上的区别或其他?

    作者回复: 那么如果 login register 有共用的布局怎么办 ?

    3
  • 2019-05-06
    老师,我的路由按照视频讲解一步一步配置的,写了登录页加载不出来
    {
          path: "/user",
          // component: RenderRouterView,
          // render函数
          component: { render: h => h("router-view") },
          children: [
            {
              path: "/user/login",
              name: "login",
              component: () => {
                import(/* webpackChunkName: "user" */ "./views/User/Login");
              }
            },
            {
              path: "/user/register",
              name: "register",
              component: () => {
                import(/* webpackChunkName: "user" */ "./views/User/Register.vue");
              }
            }
          ]
        },
    展开
    2
    3
  • 2019-05-02
    老师, 视频中出现的webpackChunkName 是什么意思啊?

    作者回复: 这是webpackChunkName打包时候用的,你可以理解为它是给webpack的标志,打包的时候会把相同name标志的路由文件打包进一个文件中

    2
  • import Vue from "vue";
    import Router from "vue-router";
    import Home from "./views/Home";
    Vue.use(Router);

    export default new Router({
      mode: "history",
      base: process.env.BASE_URL,
      routes: [
        {
          path: "/user",
          component: { render: h => h("router-view") },
          children: [
            {
              path: "/user/login",
              name: "login",
              component: () =>
                import(/* webpackChunkName: "user" */ "./views/User/Login")
            },
            {
              path: "/user/register",
              name: "register",
              component: () =>
                import(/* webpackChunkName: "user" */ "./views/User/Register")
            }
          ]
        },
        {
          path: "/",
          name: "home",
          component: Home
        },
        {
          path: "/about",
          name: "about",
          // route level code-splitting
          // this generates a separate chunk (about.[hash].js) for this route
          // which is lazy-loaded when the route is visited.
          component: () =>
            import(/* webpackChunkName: "about" */ "./views/About")
        }
      ]
    });
    根据视频敲得代码,http://192.168.0.142:8080/user/login为啥加载不出来呢?
    展开
    1
  • 根据视频走的,user/login加载不出来
    2
    1
  • 2019-04-29
    老师,想了解下如果前后端完全分离的话,生产环境下前端项目用什么作为服务,Nignx还是Node.js 另外能介绍下完全分离的场景下如何解决跨域的问题,以及跨域携带cookie 的问题?
    1
  • 催更ing
    1
  • 2019-07-27
    老师您好,我按照视频里的步骤配好路由后,访问/user/login,chrome调试里login的响应一直是we're sorry but [project-name] doesn't work properly without JavaScript enabled.please enable it to continue;
    我在官网,git找了很多回答,也询问了公司的vue开发同事,怀疑是缺少vue cli的运行时、编译器配置,render:h=>h("router-view")高阶函数无法渲染,同事帮我把高阶函数修改为自定义组件,修改路由为哈希模式,还做了一些其他修改,确实可以运行了;
    但不明白为什么高阶函数会报错,为什么不能像您这样写,我根据官网给的链式操作配置方法,增加了运行时,仍然无果,因为这个问题已经纠结两天多了,想请教下这个问题到底是什么原因,能否给个解决思路,望回复,万分感谢!!
    展开
  • 2019-07-25
    每节课的dom宰哪里拉去?
  • 2019-07-12
    Ant Design Vue 组件中有个 tabbar 就好了。
  • 2019-07-10
    学习了一种新的路由写法,
  • 2019-07-10
    很好奇老师的vs终端用的是什么插件?
  • 2019-07-01
    使用nprogress发现一值加载不完,结果在控制台发现websocket一直在加载,请问这个怎么解决

    作者回复: 来了代理? 没碰到过你这个问题呢 尴尬 如果能给出复现链接,可以尝试着帮你定位下问题

  • 老师重定向不需要这么麻烦的写子路由吧,{
          path: "/user",
          name: "user",
          redirect: "/user/login",
          component: () => import("./layouts/UserLayout.vue"),
          children: [
            {
              path: "/user/login",
              name: "login",
              component: () => import("./views/User/Login")
            },
            {
              path: "/user/register",
              name: "register",
              component: () => import("./views/User/Register")
            }
          ]
        },
    展开
  • 2019-06-22
    老师,有个问题不明白:
    都是component,为什么有的是component: { render: h => h("router-view") },
    有的是component: () => import(/* webpackChunkName: 'user' */ "./views/User/Login")。
    一开始我理解为有children的用第一种,相当于为children占位,具体组件用第二种,
    可是课程中的name: "stepform"中的component用的是第二种,我就懵了
    望解答,谢谢!!!
    展开
  • 2019-06-15
    component: {
                render: h => h("router-view")
              },
    老师,这写法是什么意思,能讲解一下吗

    作者回复: 组件啊 前面讲template的本质章节的时候说过 等价于写独立的t单文件组件

  • 2019-06-09
    老师,这个webpackChunkName 写不写有什么区别,我怎么知道它被打包到指定文件里了呢

    作者回复: 就是合并包的作用,不然每个异步路由都生成一个独立的文件,这个你可以自己尝试下。 相应文件搜索下便可证明是否按照预期打包合并了

  • 2019-06-04
    奇怪,完全按照视频写下来。dashboard页面没有载入header、footer这些组件阿