首页 > 其他分享 >Vue自定义页面路由

Vue自定义页面路由

时间:2023-11-23 13:06:30浏览次数:34  
标签:Vue 自定义 views component webpack resolve import path 路由

错误1:webpackEmptyContext (eval at ./src/store/modules sync recursive (0.js:10), <anonymous>:2:10)

路由信息由后端给出,那么前端需要动态加载路由,同时component的路径也是后端给出,但是动态加载该路径会报错

// 假如path = '@/views/user'
const com = () => import(path) // 这样会报错哦
 
const com2 = () = > import('@/views/user') // 这样写死的字符串就可以

  

原因应该是在webpack,webpack 编译es6 动态引入 import() 时不能传入变量,因为webpack的现在的实现方式不能实现完全动态。

解决办法:

可以通过字符串模板来提供部分信息给webpack,例如import(`@/${path}`), 这样编译时会编译所有@/views下的模块,但运行时确定path的值才会加载,从而实现懒加载。

如果写了@给webpack还是不能识别,那么可能你需要多些几级的路径,如import(`@/views/${path}`)

 

错误2:Syntax Error: TypeError: Cannot read property 'range' of null

解决方案

  1、问题原因为babel-lint版本过高问题导致。

解决方式:降低版本,比如7/8都可以。

 

修改package.json

 

...
	"devDependencies": {
			...
	    "babel-eslint": "^7.2.3",
	     ...
     }

    1、调整页面路由页面导入方式

//【component = () => import(`@/views${item.path}`)】这个地方用这种方式有时报错,解决方案使用【component = resolve => require([`@/views${item.path}`], resolve)】
      component = resolve => require([`@/views${item.path}`], resolve)

  

 



标签:Vue,自定义,views,component,webpack,resolve,import,path,路由
From: https://blog.51cto.com/u_16324253/8527064

相关文章

  • VUE组件使用
    vue组件使用分三步: 1.引用组件importfacePopfrom'./components/facePop'2.注册组件components={facePop}3.使用组件<facePop></facePop>新建一个components文件夹存放组件src/components/facePop.vue<template><div><h2>我是一个facePop组......
  • Golang Gin 请求参数的获取值 & 路由分组 & 控制器继承
    一. 请求参数的获取值  动态路由1typeUserstruct{2Usernamestring`form:"username"json:"username"`3Passwordstring`form:"password"json:"password"`4Ageint`form:"age"json:"......
  • web图片上传 【flask+vue2】
    直接上传代码demofromflaskimportFlask,request,jsonifyimportosfromflask_corsimportCORS#导入CORS模块#文件存储的目录UPLOAD_FOLDER='uploads'ALLOWED_EXTENSIONS={'png','jpg','jpeg','gif'}app=Flask(_......
  • vue element 表格定位到某行
    /***@description:通过表格索引定位表格的位置*@param{refName}table的ref值*@param{index}table的索引值*@return:*@author:hch*/$tableScrollMove(refName,index=0){if(!refName||!this.$refs[refName])r......
  • 使用ensp搭建路由拓扑,并使用BGP协议实现网络互通实操BGP路由协议学习一
    1.使用ENSP搭建的网络拓扑如下:         数据准备:设备名称接口IP地址DeviceALoopback01.1.1.1/32Eth 1/0/0172.16.0.1/16Eth0/0/0192.168.0.1/24DeviceBLoopback02.2.2.2/32Eth 0/0/110.1.1.1/24GE0/0/0192.168.0.2/24Eth 0/0/010.1.3.1/24DeviceCLoopbac......
  • BGP路由协议学习一
    1.BGP的特点:BGP使用TCP作为其传输层协议(端口号为179),使用触发式路由更新,而不是周期性路由更新。BGP能够承载大批量的路由信息,能够支撑大规模网络。BGP提供了丰富的路由策略,能够灵活的进行路由选路,并能指导对等体按策略发布路由。BGP能够支撑MPLS/VPN的应用,传递客户VPN路由。BGP提供......
  • gobgp宣告bgp路由
    wgethttps://github.com/osrg/gobgp/releases/download/v3.20.0/gobgp_3.20.0_linux_amd64.tar.gz#c1和c2容器启动gobgpd守护进程#c1#gobgpd.conf[global.config]as=1002router-id="172.17.0.4"[[neighbors]][neighbors.config]peer-as=1002......
  • vue 插槽上绑定得数据
    <templateslot-scope="scope"><el-button@click="handleClick(scope.row)"type="text"size="small">查看</el-button><el-buttontype="text"size="small">编辑<......
  • VUE CORS
    在Vue.js中,前端是在浏览器中运行的,因此CORS(跨域资源共享)问题通常是在后端解决的。Vue.js本身并不提供直接的方法来处理CORS。以下是一些可能的解决方法:1.使用代理VueCLI提供了一个开发服务器配置文件vue.config.js,你可以在这个文件中配置代理。这个代理只在开发环境中......
  • QT实战 之自定义控件(QSpinBox+QSlider)
    QT实战之自定义控件(QSpinBox+QSlider)创建自定义控件(QT设计师界面类)打开ui文件,拖拽需要用到的基础控件(QSpinBox+QSlider)事件绑定(注意QSpinBox::valueChanged有重载,需要用函数指针指定信号函数)使用自定义控件(拖拽添加Widget容器控件,右键菜单--提升为,打开提升对话框,填写提升的......