【问题标题】:Is there a way to setup webpack config to load specific core-js entries有没有办法设置 webpack 配置来加载特定的 core-js 条目
【发布时间】:2019-11-09 23:00:40
【问题描述】:

免责声明:除了简单的设置之外,我对 webpack 或 babel 不是很熟悉,所以如果问题不清楚,我很抱歉,并会尽力提供进一步的说明。

所以,目前的情况是一位同事最近更新了一堆包,其中包括 babel,babel 不再为 .forEach 和 ie11 中的传播运算符正确转换代码(特别是在迭代节点列表时)。由此产生的行为有点令人沮丧。简而言之,在这些浏览器中加载页面时没有任何反应,没有控制台错误,什么也没有。

在解决这个问题时,我已经能够通过在 package.json 中添加 core-js 作为依赖项并将以下导入添加到 main.js 文件来修复它:

import 'core-js/stable/array/for-each';
import 'core-js/stable/array/from';
import 'core-js/stable/dom-collections';
import 'core-js/stable/object/get-own-property-symbols';

问题是,有没有办法完全通过 webpack 配置获得相同的结果?再说一次,除了一些基本的常见设置任务之外,我不太熟悉如何在 webpack 中玩耍,所以我希望我以一种有意义的方式来表达这一点。如果没有,我会根据反馈尽力纠正。

【问题讨论】:

  • Webpack 无法知道你的 bundle 需要哪些 polyfill。
  • 我只是措辞不佳吗?是否更多关于 webpack 配置中定义的 babel 选项?
  • 你能发布 package.json 中的变化吗?

标签: javascript webpack internet-explorer-11 babeljs spread-syntax


【解决方案1】:

你可以通过 webpack 添加这个。 看看文档https://github.com/zloirock/core-js#babelpreset-env 你需要 babel .babelrc

{
  "presets": [
    [
     "@babel/preset-env",
     {
       "useBuiltIns": "usage",
       "corejs": 3
     }
    ]
  ]
}

那么就不需要在main.js中添加依赖了,所有依赖都是core-js自动添加的

我准备了代码https://github.com/tomik23/webpack-babel-corejs

【讨论】:

  • 非常感谢,“用法”和 corejs: 3 正是我所需要的。我在文档中圈出了它,但只是没有完全理解将它拼凑起来。
猜你喜欢
  • 2019-08-20
  • 2021-05-13
  • 2017-11-05
  • 2011-01-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-04
相关资源
最近更新 更多