请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于babel的presets中targets chrome: "67"

targets: {
edge: “17”,
firefox: “60”,
chrome: “67”,
safari: “11.1”,
},
不能理解这种配置的使用场景,先后顺序应该是先打包生成文件然后把打包后的文件上线,.最后用户使用各自的浏览器访问,这个时候访问的一定是已经生成好的文件.
所以开发人员在打包的时候,肯定没有用户访问啊,那webpack根据当前开发人员用的浏览器判断是否编译成es5吗?
使用babel本身就是为了应付不同的用户使用不同的浏览器都能编译,如果预先知道了用户一定使用chrome高版本的浏览器,那根本就不会使用babel吧…webpack做这种配置有啥意义呢?

正在回答

1回答

Dell 2019-03-13 23:10:14

你估计没有理解正确,他的意思是,我打包的时候,以这个配置为准,进行全兼容,比如说你配置了edge,那么我打包的时候,类似promise这种东西就不帮你实现了,因为你这个版本浏览器里肯定有。所以你打开代码,在更低版本浏览器上,就不一定能运行了。 这个版本的作用在于告诉webpack,打包出的代码,你想能兼容哪些浏览器。

2 回复 有任何疑惑可以回复我~
  • 提问者 慕码人6365497 #1
    我知道了,webpack已经知道哪些浏览器哪些版本不兼容ES6,当我的配置中存在它认为不兼容的版本,就编译成ES5.不存在就保留ES6语法
    回复 有任何疑惑可以回复我~ 2019-03-14 08:28:36
  • Dell 回复 提问者 慕码人6365497 #2
    是的,就是这个意思,底层他会调用can i use这个网站的接口
    回复 有任何疑惑可以回复我~ 2019-03-14 23:31:37
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信