gpt4 book ai didi

javascript - 与 @babel/env 和 @babel/preset-env 之间的 babel 预设配置混淆

转载 作者:行者123 更新时间:2023-12-03 10:05:18 29 4
gpt4 key购买 nike

我尝试配置一个环境来使用 babel 和 webpack 开发 javascript。

但是我不明白关于presets的babel配置.

Usage Guide ,我们可以看到预设为 "@babel/env" .

但是在文档的其他地方,我看不到这样的配置,而不是 "@babel/preset-env" .例如这里 https://babeljs.io/docs/en/babel-preset-env

我找不到 "@babel/env" 之间的区别和 "@babel/preset-env"到处都是我的英语很差,我真的一遍又一遍地阅读文档,没有运气。

也许他们是一样的?

顺便说一句,目标集似乎不起作用,删除目标也可以在 ie9+(或默认目标是什么)中正常运行,如果我希望我的 es6 脚本可以转换为兼容 ie8,因此它不是最重要的。

这是我的项目sdk-dev-env

// https://babeljs.io/docs/en/configuration
const presets = [
[
'@babel/env',
{
// https://babeljs.io/docs/en/babel-preset-env#targets
// TODO: how to compatibilite with ie 8
targets: {
ie: '8',
edge: '17',
firefox: '60',
chrome: '67',
safari: '11.1'
/**
* you can also set browsers in package.json
* "browserslist": ["last 3 versions"]
* relative links:
* https://github.com/browserslist/browserslist
*/
},
corejs: '3',
// corejs: { version: 3, proposals: true },
/**
* https://babeljs.io/docs/en/usage#polyfill
* https://github.com/zloirock/core-js#babelpreset-env
* "usage" will practically apply the last optimization mentioned above where you only include the polyfills you need
*/
useBuiltIns: 'usage'
}
]
]
const plugins = []

if (process.env['ENV'] === 'prod') {
// plugins.push(...);
}
module.exports = { presets, plugins }

我希望知道它们是否相同,如果不是,有什么不同。

以及将 babeljs 7.4 与 core-js 3 一起使用的最佳方式

最佳答案

Maybe they are same?


没错, preset-一 block 是可选的。既然你在做
presets: ["@babel/env"]
Babel 已经知道它是一个预设,因为它在 presets 中。数组,因此它将添加 preset-自动进入模块名称。
这适用于 plugins也是。
the Babel issue 中的表格在哪里实现了更多示例。

关于javascript - 与 @babel/env 和 @babel/preset-env 之间的 babel 预设配置混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56108110/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com