webpack搭建vue项目报错:Support for the experimental syntax 'jsx' isn't currently enab

274 阅读2分钟

项目基本信息

webpack5.66 vue2.6

背景

在写组件的时候用到了jsx写法,代码如下:

image.png

问题

如题,

image.png

经了解,是当前无法解析jsx的写法,需要引入相关的依赖解决。

过程

失败一

经过相关搜索,需要安装如下图所示依赖,也基本锁定了解决问题的方向:

image.png

内心一想,npm上都写得那么详细,跟着步骤就完事儿,结果安装配置完后发现,依旧是一样的报错,无法解析jsx。(图中依赖除了babel-preset-env没有安装,其余都安装了,因为我之前安装的是"@babel/preset-env": "^7.16.11",

失败二

于是,只能再从报错信息入手,

image.png

发现这里提示@babel/plugin-syntax-jsx和上面npm 提示的版本有出入,

image.png

image.png

这次,我很自信的认为,我找到了问题所在,一系列操作后,还是相同的结果,无法解析

失败三

思来想去,我依然是找不到问题所在,又只能转换思路,看看能否找点别的线索。根据控制变量法,既然这个babel-plugin-syntax-jsx的依赖版本没能对结果造成影响,就说明可能是其他依赖。

image.png

嘿嘿,没错就是你们俩,谁也跑不掉!!又跑去npm上查他们水表,

结果如图,原来babel-plugin-transform-vue-jsx你4年前就是这个样子,看来是我错怪你了~~ image.png

既然这样,说明“凶手”已经很明显了,

image.png

靠原来你俩兄弟都很老实,4年没更新了,emmmmmm,直接自闭~~~~~~~~~

求救

经过以上一系列的操作,实在没能找到解决问题的方法。于是乎,平时一直在掘金潜水的我决定冒个泡,要把这个问题带到掘金,因为我实在打不过“它们”,问题是我也加入不了对面啊~~ 感谢大家的阅读、指导~~~

ps:以上安装依赖的时候,我都有在.babelrc文件中进行对应的插件引入。

最后最后,平时习惯上虎扑,既然发帖求救,规矩咱懂,福利还是得有

image.png

哈哈哈这五百小红包,大家拿去喝茶~