babel笔记

作者: 佛系跳伞运动员 | 来源:发表于2018-03-30 15:36 被阅读12次

babel笔记

.babelrc配置文件

{
  "presets": [],
  "plugins": []
}
  • presets字段设定转码规则
    # 最新转码规则
    $ npm install --save-dev babel-preset-latest
    # react 转码规则
    $ npm install --save-dev babel-preset-react
    
  • plugins字段设定babel的插件
    # 单独引入箭头函数
    "plugins": ["transform-es2015-arrow-functions"]
    

babel-core的作用

  • 以编程的方式来使用Babel,如果某些代码需要调用Babel的API进行转码,就要使用babel-core模块。
    var babel = require('babel-core');
    // 字符串转码
    babel.transform('code();', options);
    // => { code, map, ast }
    // 文件转码(异步)
    babel.transformFile('filename.js', options, function(err, result) {
      result; // => { code, map, ast }
    });
    // 文件转码(同步)
    babel.transformFileSync('filename.js', options);
    // => { code, map, ast }
    

babel-cli的作用

  • babel-cli工具用于命令行转码。
    # 转码结果输出到标准输出
    $ babel example.js  
    # 转码结果写入一个文件
    # --out-file 或 -o 参数指定输出文件
    $ babel example.js --out-file compiled.js
    

babel-loader的作用

  • babel加载器,在webpack中想使用babel就需要使用babel-loader,babel-loader会根据.babelrc配置来会用不同的babel(如babel-preset-es2015,babel-preset-react,babel-preset-stage-0之类)
    //...
    {
        test: /\.js$/,
        exclude: /node_modules/,
        loader: 'babel-loader'
    }
    //...
    

babel-preset-es2015的作用

  • babel-preset-es2015中包含了es6->es5所有
    //...
    {
        test: /\.js$/,
        exclude: /node_modules/,
        loader: 'babel-loader'
    }
    //...
    

babel-polyfill的作用

  • Babel默认只转换新的JavaScript句法(syntax),而不转换新的API,比如Iterator、Generator、Set、Maps、Proxy、Reflect、Symbol、Promise等全局对象,以及一些定义在全局对象上的方法(比如Object.assign)都不会转码。
    • $ npm install --save babel-polyfill
    //脚本头部引入:
    import 'babel-polyfill';// 或者require('babel-polyfill');
    

相关文章

  • React源码阅读

    React 源码阅读笔记 babel转JSX babel 更新器 React.CreateElement 传入三个...

  • babel笔记

    babel笔记 .babelrc配置文件 presets字段设定转码规则# 最新转码规则$ npm install...

  • babel学习笔记

    babel 转译 安装以下依赖: @babel/core调用 Babel 的 API 进行转码 babel-loa...

  • Babel 学习笔记

    基本使用 新建项目目录,初始化 npm 在项目根目录下安装 Babel 每年每个 preset (es2015) ...

  • 学习笔记 《Babel》

    作为一门按照标准制定,浏览器厂商各自实现的程序语言,从新语法的提出到标准化,需要经历漫长的历程,Babel 的价值...

  • Babel 学习笔记

    在 Github 上 Fork 了别人的代码,在 package.json 中看到了很多与 Babel 有关的包,...

  • babel学习笔记

    阮一峰babel入门教程 babel官网 一、配置 .babel 文件 { "presets":["es2015...

  • babel学习笔记

    本文源代码: babel入门 创建一个package: 安装babel: 安装babel-polyfill: 需要...

  • babel 学习笔记

    参考了很多文章,只是为了搞清楚babel 7 之后容易搞混的概念。 介绍 本文主要解决如下几个问题: babel ...

  • babel配置及插件注解

    babel插件 @babel/cli @babel/core @babel/preset-env @babel/p...

网友评论

    本文标题:babel笔记

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