美文网首页
js兼容性--babel的使用

js兼容性--babel的使用

作者: 风雅欢乐 | 来源:发表于2020-05-07 21:40 被阅读0次

babel安装

babel可以和构建工具联合使用, 也可以独立使用, 如果需要独立使用babel, 需要安装两个库

  • @babel/core: babel核心库, 提供编译所需的api
  • @babel/cli: 命令行工具

使用方式

命令行输入
# 按文件编译
babel 要编译的文件 -o 编译结果文件
babel 需要编译的整个目录 -d 编译结果放置的目录

babel本身不做任何事情, 真正的编译需要依托babel插件和babel预设.

babel预设和postcss预设含义一样, 是多个插件的集合体

  • 需要一个配置文件.babelrc来设置需要的预设和插件.
  • 预设需要根据兼容的浏览器范围来确定如何编译, 需要.browserslistrc来描述浏览器的兼容范围.
  • 通常情况下, 预设@babel/preset-env只转换那些已经成为正式标准的语法, 对于某些处于早期阶段, 还没有确定的语法的转换, 需要使用单独的插件.
  • 预设和插件同时配置的情况下, 它们的运行顺序是
    1. 插件先运行, 预设后运行
    2. 多个插件运行顺序从前往后
    3. 多个预设运行顺序从后往前

注意: 使用预设等之后, 如果源代码中有较新的语法, 那么需要安装corejs, regenerator-runtime等库

.babelrc文件

{
    "presets": [
        ["@babel/preset-env", {
            // useBuiltIns设置为usage, 会自动加入新的api如Promise等, 此时变编译后的代码需要引入corejs
            // 由于此预设默认使用corejs的版本是2, 所以要增加配置corejs: 3
            "useBuiltIns": "usage",
            "corejs": 3
        }]
    ],
    "plugins": [
        ["@babel/plugin-proposal-class-properties", {
            "loose": true
        }],
        
    ]
}

.browserslistrc文件

last 3 version
> 1%
not ie <= 8

相关文章

  • js兼容性--babel的使用

    babel安装 babel可以和构建工具联合使用, 也可以独立使用, 如果需要独立使用babel, 需要安装两个库...

  • polyfill

    polyfill Babel只能处理一些JS的语法,如下ES6等的新用法不支持,需要使用polyfill(兼容性处...

  • Vue cli3 添加插件支持build自动删除console.

    使用babel插件实现 安装babel插件 修改babel.config.js文件如下: 搞定!

  • ant如何使用babel-plugin-import

    未使用babel-plugin-import ,bundle.js的文件大小 使用babel-plugin-imp...

  • vue项目报错Cannot find module '@vue/

    解决方法:更新babel配置babel.config.js文件。使用@babel/preset-env而不是bab...

  • webpack中babel的使用(四)

    24 babel 1. babel介绍 2. babel命令行使用 在目录文件下创建demo.js 然后使用命令行...

  • Babel

    什么是 Babel Babel又名 babel.js, 是目前前端使用非常广泛的编辑器、转移器。 比如当下很多浏览...

  • 2019-01-24 JS 中的Babel是什么?

    Bable简介 Babel可以把JSX语法编译成JS语法,使得写 UI代码更加方便。 不使用Babel: 使用Ba...

  • babel 入门使用 (babel 7.4.0)

    官网 安装 使用例子 根目录创建配置文件 babel.config.js 执行编译yarn babel src -...

  • .babelrc详解

    babel是一种js语法编译器,在前端开发过程中,由于浏览器的版本和兼容性问题,很多js的新方法和特性的使...

网友评论

      本文标题:js兼容性--babel的使用

      本文链接:https://www.haomeiwen.com/subject/bopzghtx.html