账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    babel如何根据不同浏览器编译不同js
    27
    0

    问题描述
    babel中babel-preset-env可以根据不同的浏览器版本针对这些版本进行选择性编译
    例如

    {
    "presets": [
        ["env",{
            "targets": {
                "chrome": 25,
                "browsers": ["last 2 versions","safari 7"]
            }
        }]
    ]
    }

    上边的意思就是针对大部分浏览器最新的两个版本以及IE 7+以及chrome25版本进行转码编译
    但是这样只是针对需要转码的浏览器做的一套适配,像高版本chrome浏览器已经支持了es6,那么肯定就不需要转码了,所以我想问下怎么针对不同浏览器做转码与不转吗或者部分转码的适配

    说下自己的理解
    1 针对不同浏览器版本每次手动配置babel并且编译出不同的js,然后页面中有个初始检查模块用来检测当前浏览器版本,然后调用不同的js(支持es6的使用最新语法js,不支持的使用转码的js)
    2 针对不同浏览器版本每次手动配置babel并且编译出同一个js,但是这个js里面可以根据不同浏览器选择不同的方法来执行(目测这种方式肯定不行,为了适配增加了不必要的代码,而且实行起来可能也很麻烦)

    总结:所以babel是如何做到真正按需分配的?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部