【发布时间】:2020-09-21 11:40:02
【问题描述】:
我是 Babel+Webpack 的新手,对 .babelrc 配置有些困惑。
首次配置
{
"presets": [
[
"@babel/env",
{
"modules": false,
"useBuiltIns": "usage",
"targets": "> 0.25%, not dead",
"corejs": {
"version": 3,
"proposals": true
}
}
]
],
"plugins": [
"@babel/transform-runtime"
]
}
第二个配置:
{
"presets": [
[
"@babel/env",
{
"modules": false,
}
]
],
"plugins": [
[
"@babel/plugin-transform-runtime", //target environment are not supported
{
"corejs": 3,
"helpers": true,
"regenerator": true
}
]
]
}
第二个配置正确的事实是:
- 增加捆绑包大小
- Core-js-pure 将包含不会污染全球环境的 ponyfill。
我的问题是,我们将导出一个“umd”库以供公众使用,其库名称为“XYZ”,我很困惑上述哪些设置适合,因为真正让我困惑的一件事是,如果包即创建最后被缩小并完全建立在 esm 模式(使用严格模式)上,供公众使用,他们可以像“XYZ.method()”一样访问,然后第二个配置如何合适并停止污染全局命名空间。
谁能用一个例子解释我并帮助我清除这个概念?
【问题讨论】:
标签: javascript webpack module bundler babeljs