svg-sprite-loader和webpack5

2,618 阅读1分钟

记录一次依赖版本不统一导致的问题

  • 新建的项目使用的是vuecli@5

  • 里面使用的webpack也是5.xx版本以上

  • 从旧项目拷来了svg-sprite-loader,packjson版本,4.3.2版本

  • 然后安装依赖

  • icons组件如图显示 image.png

  • 之后运行报错了(提示我 Error: Cannot find module 'webpack/lib/RuleSet')

  • 一脸懵逼

  • 开始百度(结果都是卸载vueCli@5,安装vuecli@4),无法解决我项目问题

  • 然后查看github,webpack的releases,查看RuleSet

image.png

总结

百度只能帮你解决简单问题,github才是世界的尽头。

彩蛋

  1. 这个问题,可以通过复制webpack4中的lib/RuleSet.js到webpack5的webpack的lib里面解决,但是,不适合团队,所以拉闸。
  2. 看了svg-sprite-loader的解决webpack5和webpack4的方案。(只能说被迫升级)

image.png