关于在vue3下使用vue-markdown-loader或自定义md-loader报错分析

1,010 阅读1分钟

背景

前段时间研究element源码,想着以后把做一个自用组件库说明文档。当务之急就是实现一个md文件转vue组件的loader。element源码里面基于vue2已经实现了一个完整的md-loader,参考这个,我想在vue3的环境下实现此功能。在后续的开发过程,不管你是使用vue-cli创建的项目,还是用webpack搭建的脚手架,不管你是自己写md-loader还是使用vue-markdown-loader,都会报错。

image.png

原因分析

关键点如下:

  1. vue2环境下是没问题的
  2. vue-loader没有对md文件的代码进行处理
  3. 当前时间下vue-loader的最新版本是16.8.1

经过以上分析,问题应该出在最新版本的vue-loader。查看源码有以下代码:

image.png

不知道出于什么原因,最新vue-loader不处理.md文件。建议使用16.5.0,这个版本没有加这一段限制。

后续

为此我专门去vue-loader提了个issuse。得到回应以后会支持

image.png

最后的最后

简单的写了一下再vue3环境下的md-loader。感兴趣可以看看:git