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

目前,我想要了解关于巴别塔的配置,却得到了迷茫babel-preset-**,也有很多预设的巴贝尔,如enves2015react和其他人,我不明白,babel-preset-es2015是需要transpile ES2015代码之前的js代码,因此它可以通过最理解/旧版浏览器,该怎么babel-preset-env办?

这些预设之间有什么区别?可以env不使用就使用es2015,反之亦然?在什么情况下我们需要在项目构建系统中存在这两个预设?

谢谢。