如何让 webpack 在没有 babel 的情况下接受可选链接

新手上路,请多包涵

设想:

  • 我们正在使用 webpack 4 从我们的 Javascript 源创建一个包。
  • 我们 没有 使用 Babel,因为我们只为单一平台(最新的 Chrome)创作,而且我们只使用 Chrome 中直接可用的功能,因此不需要转译。

这样做的好处是 _捆绑包更小_,开发时 _的周转时间更快_。

现在我们想开始使用 stage 4 可选链接功能,它 可以在 Chrome 中使用一个标志启用

我试着用谷歌搜索这个,我所能找到的只是 babel 有一个插件

问题:有没有办法让 webpack 接受这种语法而忽略 babel?

这是 webpack 当前报告的内容:

 ERROR in ./src/js/components/custom-select.js 245:12
Module parse failed: Unexpected token (245:12)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
|      */
|     focus() {
>         this.input?.focus();
|         return this;
|     }
 @ ./src/js/components/components.js 16:0-49 16:0-49

原文由 connexo 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 513
2 个回答

关于@Klaycon 的回答, Acorn 今天发布了一个支持可选链的 新版本。一旦 Webpack 反映了他们的变化——使用 webpack 的可选链接就不再是问题了。

原文由 user3378165 发布,翻译遵循 CC BY-SA 4.0 许可协议

根据 this similar issue ,webpack依赖于解析器 Acorn ,因此大概需要Acorn首先支持可选链。 Acorn 在 这里 有一个关于可选链接的公开拉取请求,但与此同时,用户在第一期中建议的“解决方案”是禁用对您需要的文件的解析,可选使用 module.noParse 直到 Acorn 和 webpack支持该功能。

更新: 从 v7.3.0 开始,Acorn 现在支持可选链接,根据这个 webpack 问题评论,听起来他们不希望 webpack 支持它,直到 webpack 5 发布。可以在 此处 跟踪 webpack 5 的进度。

原文由 Klaycon 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题