如何配置Babel 7以支持ES2015的`export * as X from Y`导出语法?
解决Babel 7 + Webpack 4下
export * as Utils from './utils';语法解析错误 我来帮你搞定这个问题!你遇到的核心问题是Babel 7已经不再兼容旧版的transform-export-extensions插件——这个插件是Babel 6时代的产物,在Babel 7里,export * as X from 'module'这类语法的支持已经由专门的提案插件承接了。下面是具体的解决步骤:
1. 替换为Babel 7兼容的插件
先卸载旧插件(如果已安装),然后安装Babel 7对应的官方插件:
npm uninstall babel-plugin-transform-export-extensions npm install --save-dev @babel/plugin-proposal-export-namespace-from
2. 更新.babelrc配置
把原来的插件配置替换成新的@babel插件,修改后的配置如下:
{ "presets": [ "@babel/preset-react", "@babel/preset-env" ], "plugins": [ "@babel/plugin-proposal-export-namespace-from" ] }
3. 确保babel-loader版本匹配
Babel 7要求babel-loader必须是8.x及以上版本,如果你的版本过低也会导致兼容问题。可以检查并更新:
npm install --save-dev babel-loader@latest
补充说明
export * as Utils from './utils';属于ES提案级别的「导出命名空间」语法,Babel 7默认不会启用这类非标准语法的支持,必须通过对应的提案插件来开启。旧版的transform-export-extensions在Babel 7中已经被拆分替换,所以你之前的配置才会失效。
按照上面的步骤修改后,重新运行Webpack,应该就能正常解析这条导出语句了。
内容的提问来源于stack exchange,提问作者ukrbublik
相关产品推荐
相关产品推荐

