前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >前端开发:项目引入vue-easytable时报错These relative modules were not...的解决方法

前端开发:项目引入vue-easytable时报错These relative modules were not...的解决方法

作者头像
三掌柜
发布2022-04-12 16:52:12
2K0
发布2022-04-12 16:52:12
举报

前言

前段时间在开发基于移动端的前端项目的时候,遇到一个使用table的需求,但是基于移动端的Vant框架的组件库里面没有table相关的组件支持,这就需要借助第三方组件来实现基于移动端的table功能。基于移动端的table的第三方组件有一个使用起来比较方便的组件:vue-easytable,该组件从集成到使用也都很简单,但是会遇到一个致命的问题,那就是本文所要分享的内容。

关于vue-easytable组件从集成到使用的方法,网上一大把教程,vue-easytable在git上面也有demo,可以自行搜索查阅,这里不再赘述。

报错原因

成功把vue-easytable集成到项目之后,在运行的时候遇到了一个报错,具体报错信息如下所示:

代码语言:javascript
复制
ERROR  Failed to compile with 4 errors                                                                      上午9:54:42
These relative modules were not found:
* ./iconfont.eot?t=1607666235845 in ./node_modules/_css-loader@0.28.11@css-loader??ref--5-1!./node_modules/_postcss-loader@2.1.6@postcss-loader/lib??ref--5-2!./node_modules/_vue-easytable@2.5.5@vue-easytable/libs/theme-default/index.css
* ./iconfont.svg?t=1607666235845 in ./node_modules/_css-loader@0.28.11@css-loader??ref--5-1!./node_modules/_postcss-loader@2.1.6@postcss-loader/lib??ref--5-2!./node_modules/_vue-easytable@2.5.5@vue-easytable/libs/theme-default/index.css
* ./iconfont.ttf?t=1607666235845 in ./node_modules/_css-loader@0.28.11@css-loader??ref--5-1!./node_modules/_postcss-loader@2.1.6@postcss-loader/lib??ref--5-2!./node_modules/_vue-easytable@2.5.5@vue-easytable/libs/theme-default/index.css
* ./iconfont.woff?t=1607666235845 in ./node_modules/_css-loader@0.28.11@css-loader??ref--5-1!./node_modules/_postcss-loader@2.1.6@postcss-loader/lib??ref--5-2!./node_modules/_vue-easytable@2.5.5@vue-easytable/libs/theme-default/index.css

报错分析

根据上述报错提示信息,会有一个这样的疑问,为什么在集成vue-easytable组件的时候是按照正确的步骤操作的,运行的时候居然还是报错,提示not found呢?那是因为进入目录build里边的webpack.base.conf.js里边的配置文件提示loader是’url-loader’,如图所示:

但是node_modules的iconfont.css里边用的是‘url’,由于差异性造成的报错。

解决方法

直接把iconfont.css里边用的‘url’改成’url-loader’,即可解决上述报错问题,但是由于这是直接在node_modules里面修改,如下所示:

代码语言:javascript
复制
@font-face {font-family: "iconfont-vet";
  src: url-loader('iconfont.eot?t=1607666235845'); /* IE9 */
  src: url-loader('iconfont.eot?t=1607666235845#iefix') format('embedded-opentype'), /* IE6-IE8 */
  url-loader('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAUAAAsAAAAACyAAAASxAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDZgqHQIYVATYCJAMsCxgABCAFhR0HgT0bkglRVG8aZD8K48anlKkVETWZmxLicOmVmr/……/6xQAAAAA=') format('woff2'),
  url-loader('iconfont.woff?t=1607666235845') format('woff'),
  url-loader('iconfont.ttf?t=1607666235845') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
  url-loader('iconfont.svg?t=1607666235845#iconfont-vet') format('svg'); /* iOS 4.1- */
}

修改完成之后,保存文件,重新运行项目,不再报错,运行成功。

注意

如果是多人合作开发的话,这是一种治标不治本的方法,而且在打包发布的时候,如果是自动发布的,就会有致命性的问题,很可能会不显示table,显示的是空白。

最后

vue-easytable组件的集成以及使用过程很简单,但是要注意兼容性问题,以及上线之后可能会引起的问题,具体情况还是根据实际情况来决定,这里不再赘述。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-08-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 iOS开发by三掌柜 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档