vue2路由懒加载解决import引入报错问题

简介: 本文介绍了在Vue2项目中实现路由懒加载的方法,并解决了使用import语句进行懒加载时报错的问题。通过安装`babel-plugin-syntax-dynamic-import`插件并在项目的`.bablerc`文件中配置,可以成功实现路由组件的按需加载。同时,文章还提到了使用`webpackChunkName`为懒加载的组件指定单独的chunk名称,以避免所有组件被打包到同一个js文件中。

默认加载:

// 测试页面
import HelloWorld from '@/page/testHomePage/home'
import Form from '@/page/testHomePage/form'
import FormSubmit from '@/page/testHomePage/FormSubmit'
import PushRouterPage from '@/page/testHomePage/routerPage'
import Newpage from '@/page/testHomePage/newpage'
import Table from '@/page/testHomePage/table'

使用:

        {
   
          path: '/Table',
          name: 'Table',
          component: Table,
          meta: {
   
            title: 'Table',
          }
        },

vue自带的懒加载模式

在引入vue组件的时候我们可以直接引入组件并使用,但是这样并不能进行懒加载,项目打开的时候,会默认加载所有的页面,这并不是我们需要的,我们可以使用vue自带的懒加载模式:

component: resolve => (require(["@/components/common/Home.vue"], resolve))

这个虽然可以实现按需加载 ,也有一个小缺陷,就是全部模块会打包到一个js中。

使用import引入

  {
   
      path: '/',
      component: () => import(/* webpackChunkName: 'Home' */ '@/components/common/Home.vue'),
      meta: {
   
        title: '自述文件'
      },
   }

这个使用项目如果报错,那就是我们import的问题
问题原因: import 属于异步引用组件,需要特殊的 babel-loader 处理
我们需要一个加载器:

npm i babel-plugin-syntax-dynamic-import -D

在项目根目录找到.bablerc文件,没有的话新建

{
   
  "plugins": [
    "syntax-dynamic-import"
  ]
}

多余的我没有添加,这个新加的loader直接这样用,改完保存,重启项目就ok。

/* webpackChunkName: ‘Home’ */

这句话的作用是将当前组件打入一个包中,多个webpackChunkName相同将会打入一个包中,避免了将全部组件打入一个js中。

目录
相关文章
webpack优化篇(四十):速度分析:使用 speed-measure-webpack-plugin
webpack优化篇(四十):速度分析:使用 speed-measure-webpack-plugin
2636 0
webpack优化篇(四十):速度分析:使用 speed-measure-webpack-plugin
|
资源调度 JavaScript API
Vue-treeselect:为Vue应用程序提供强大选择器的指南
Vue-treeselect:为Vue应用程序提供强大选择器的指南
3001 0
|
人工智能 自然语言处理 前端开发
20分钟上手DeepSeek开发:SpringBoot + Vue2快速构建AI对话系统
本文介绍如何使用Spring Boot3与Vue2快速构建基于DeepSeek的AI对话系统。系统具备实时流式交互、Markdown内容渲染、前端安全防护等功能,采用响应式架构提升性能。后端以Spring Boot为核心,结合WebFlux和Lombok开发;前端使用Vue2配合WebSocket实现双向通信,并通过DOMPurify保障安全性。项目支持中文语义优化,API延迟低,成本可控,适合个人及企业应用。跟随教程,轻松开启AI应用开发之旅!
|
JavaScript
Vue2图片懒加载(vue-lazyload)
这篇文章介绍了如何在Vue 2项目中使用`vue-lazyload`插件来实现图片的懒加载功能,包括安装插件、注册配置以及在页面中的具体使用方法。
977 0
Vue2图片懒加载(vue-lazyload)
|
JSON JavaScript 定位技术
Echarts 绘制地图(中国、省市、区县),保姆级教程!
Echarts 绘制地图(中国、省市、区县),保姆级教程!
28929 154
|
前端开发 数据处理
对象数据的读取,看这一篇就够了!Object.keys()、Object.values()和Object.entries()用法详解;如何获取对象原型链上的属性
Object.keys()、Object.values()和Object.entries()都是利于对象操作的便捷方法,能有效提升数据处理的效率。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
element UI【解决方案】消息弹框被对话框遮挡($message消息框被dialog或$alert遮罩)
element UI【解决方案】消息弹框被对话框遮挡($message消息框被dialog或$alert遮罩)
1115 3
|
前端开发 JavaScript 开发者
利用 el-select 和 el-tree 实现树形结构多选框联动功能
本文详细介绍了如何使用ElementUI中的el-select下拉选择器和el-tree树形控件来实现多功能联动选择器,包括多选、删除、搜索、清空选项等功能。通过树形控件展示复杂的层级结构,用户可以通过下拉选择树形节点,实时搜索节点,且支持批量选择和删除功能。文中提供了完整的HTML、JavaScript和CSS代码实现,帮助开发者快速集成此功能。
6666 0
利用 el-select 和 el-tree 实现树形结构多选框联动功能
element el-table 设置fixed导致行错乱问题
文章讨论了在使用Element UI的`el-table`组件时,设置固定列(`fixed`)导致行错乱的问题,并提供了解决方案。问题产生的原因是当表格底部有滚动条而固定列底部没有滚动条时,行无法对齐。解决办法是在表格中设置`padding-bottom`的内边距与滚动条高度相等,确保固定列和非固定列的行能够对齐。
5257 0
|
JavaScript API
【Element-UI】vue使用 this.$confirm区分取消与关闭,vue给this.$confirm设置多个按钮
【Element-UI】vue使用 this.$confirm区分取消与关闭,vue给this.$confirm设置多个按钮
3280 0

热门文章

最新文章