React Tabulator出现无法识别的模块解析错误该如何解决?
你的业务逻辑代码写法没有问题,报错来自依赖包的编译兼容问题。
报错原因
这个报错是你当前项目的编译环境不支持 ES2020 可选链操作符(?.) 导致的。你安装的高版本Tabulator源码中使用了可选链语法,而你的Babel/Webpack配置没有对应的解析规则,无法识别该语法就抛出了编译错误。
解决方案
你可以任选以下一种方案处理:
- 方案1:降级Tabulator到兼容低版本编译环境的版本
直接安装v4.9.x的Tabulator版本,这个版本没有用到可选链语法,不需要调整编译配置:
安装完成后重启项目即可正常编译。npm install react-tabulator@0.14.3 tabulator-tables@4.9.3 # 使用yarn则执行:yarn add react-tabulator@0.14.3 tabulator-tables@4.9.3 - 方案2:升级编译配置支持ES2020语法
如果需要使用最新版Tabulator,给Babel添加对应的语法支持即可:- 安装必要的Babel插件:
npm install @babel/plugin-proposal-optional-chaining @babel/plugin-proposal-nullish-coalescing-operator --save-dev- 在项目根目录的
.babelrc或babel.config.json配置文件的plugins数组中添加以下规则:
{ "plugins": [ "@babel/plugin-proposal-optional-chaining", "@babel/plugin-proposal-nullish-coalescing-operator" ] }- 重启项目即可正常编译。
- 方案3:针对create-react-app创建且未暴露配置的项目
可以先执行npm run eject暴露配置后,再按方案2调整Babel配置,也可以直接选方案1降级Tabulator版本,操作更简便。
内容的提问来源于stack exchange,提问作者sambit
相关产品推荐
相关产品推荐

