Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript babel-preset-es2015和babel-preset-env有什么区别?_Javascript_Webpack_Babeljs - Fatal编程技术网

Javascript babel-preset-es2015和babel-preset-env有什么区别?

Javascript babel-preset-es2015和babel-preset-env有什么区别?,javascript,webpack,babeljs,Javascript,Webpack,Babeljs,我目前正试图了解babel配置,但被babel预置-***弄糊涂了,babel中有很多预置,比如env,es2015,react等,我知道需要babel-preset-es2015将es2015代码转换为以前的js代码,以便大多数/较旧的浏览器都能理解,那么babel-preset-env呢 这些预设之间有什么区别?是否可以在不使用es2015的情况下使用env,或者反之亦然?当我们需要这两个预设出现在我们的项目构建系统中时,会发生什么情况 谢谢。babel-preset-es20XX(15、1

我目前正试图了解babel配置,但被
babel预置-***
弄糊涂了,babel中有很多预置,比如
env
es2015
react
等,我知道需要
babel-preset-es2015
将es2015代码转换为以前的js代码,以便大多数/较旧的浏览器都能理解,那么
babel-preset-env

这些预设之间有什么区别?是否可以在不使用
es2015的情况下使用
env
,或者反之亦然?当我们需要这两个预设出现在我们的项目构建系统中时,会发生什么情况


谢谢。

babel-preset-es20XX(15、16、17)预设包括将特定年份添加的功能转换为与以前版本兼容的代码所需的转换

babel preset env
包括对规范中包含的所有功能的转换,但仅支持根据您为其提供的环境集使功能正常工作所需的转换。如果您不向
env
传递任何选项,它基本上就像
es2015、es2016、es2017
一样工作


babel preset react
是转换react/Facebook相关语法扩展(如Flowtype和react的JSX)所需的转换集。

babel preset env
是否也将缩小过程从UglifyJS更改为babili?我有点被它弄糊涂了,事实并非如此。缩小的方式是分开的
preset env
可能会使您的输出代码为ES6,而标准的Uglify无法处理ES6,因此如果您将
env
Uglify
一起使用,您应该使用
Uglify
目标:巴贝尔自己建议现在就使用
babel preset env