Vue-router路由import 与 require 区别和懒加载

导读:本篇文章讲解 Vue-router路由import 与 require 区别和懒加载,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

📖摘要


今天分享下 —— Vue router 路由 importrequire 使用区别以及懒加载,欢迎关注!


🌂node 编程

node 编程中最重要的思想就是模块化,importrequire 都是被模块化所使用。


✨import 与 require 区别:

  • 遵循规范
    • requireAMD 规范引入方式
    • importes6 的一个语法标准,如果要兼容浏览器的话必须转化成 es5 的语法
  • 调用时间
    • require 是运行时调用,所以 require 理论上可以运用在代码的任何地方
    • import 是编译时调用,所以必须放在文件开头
  • 本质
    • require赋值过程,其实 require 的结果就是对象、数字、字符串、函数等,再把require的结果赋值给某个变量
    • import解构过程,但是目前所有的引擎都还没有实现 import ,我们在 node 中使用 babel 支持 ES6 ,也仅仅是将 ES6 转码为 ES5 再执行,import 语法会被转码为 require

💖定义vue-router

1. import方式

import Login from '@/pages/views/Login'
import Home from '@/pages/views/Home'

const routes = [
  {
    path: '/',
    name: 'Login',
    component: Login
  },
  {
    path: '/home',
    name: 'Home',
    component: Home
  }
]

2. require 方式,异步加载-组件异步加载即为路由的异步加载

export default [
    {
      path: '/user',
      name: 'user',
      component: resolve => require(['路径'], resolve)
    },
    {
      path: '/detail',
      name: 'detail',
      component: () => resolve => require(['路径'], resolve)
    }
]

3. 官方默认的懒加载方式,用更加简单的写法来组织 Vue 异步组件和 Webpack 的代码分隔

export default [
    {
      path: '/detail',
      name: 'detail',
      component: () => import('路径')
    }
]

4. webpack 提供的 require.ensure()vue-router 配置路由,使用 webpackrequire.ensure 技术,也可以实现按需加载。这种情况下,多个路由指定相同的 chunkName,会合并打包成一个 js文件

{
  path: '/home',
  name: 'home',
  component: r => require.ensure([], () => r(require('路径')), 'demo')
}, {
  path: '/index',
  name: 'Index',
  component: r => require.ensure([], () => r(require('路径')), 'demo')
}

至此结束,下一篇:vue 中使用 动态添加路由(router.addRoutes) 加载侧边栏的方式

最后感谢大家耐心观看完毕,留个点赞收藏是您对我最大的鼓励!


🎉最后

  • 更多参考精彩博文请看这里:《陈永佳的博客》

  • 喜欢博主的小伙伴可以加个关注、点个赞哦,持续更新嘿嘿!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/97354.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!