zoukankan      html  css  js  c++  java
  • Babel插件 --- day02

    Babel是一个编译器,编译过程分为三个阶段:解析、转换 和 打印输出。

    如果想要 Babel 做一些实际的工作,就需要为其添加插件  或者 以 preset 的形式启用一组插件;

    启用单个插件

    转换插件:  用于转化你的代码

         转化插件将启用相应的语法插件 (不必同时指定这两种插件)

       用法: 参考  https://www.babeljs.cn/docs/babel-plugin-transform-exponentiation-operator

          安装:   npm install --save-dev @babel/plugin-transform-exponentiation-operator

          配置文件(建议):  { "plugins": ["@babel/plugin-transform-exponentiation-operator"] }

          Via CLI(通过CLI): babel --plugins @babel/plugin-transform-exponentiation-operator script.js    

          Via Node API:  require("@babel/core").transform("code", { plugins: ["@babel/plugin-transform-exponentiation-operator"] }); 

    语法插件:

      只parse解析特定类型的语法,而不转换;

      如果指定了转换插件,没必要指定语法插件(转换插件自动启用相应语法插件)

      Babel 解析器传递任何 plugins 参数 :  ----->  .babelrc  文件

        {

          "parserOpts": {   // 解析选项

             "plugins": ["jsx", "flow"]

          }

       }

    插件/Preset 路径

      { "plugins": ["babel-plugin-myPlugin"] }

    插件的短名称

      如果插件名称的前缀为 babel-plugin-,你还可以使用它的短名称:

      { "plugins": [ "myPlugin", "babel-plugin-myPlugin" // 两个插件实际是同一个 ] }

      { "plugins": [ "@org/babel-plugin-name", "@org/name" // 两个插件实际是同一个 ] }

    插件顺序

      处理同一段代码,根据插件顺序依次执行。

    • 插件在 Presets 前运行。
    • 插件顺序从前往后排列。
    • Preset 顺序是颠倒的(从后往前)。

    插件参数

      插件名和参数对象组成一个数组

      不指定参数,下面几种是一样的:

        { "plugins": ["pluginA", ["pluginA"], ["pluginA", {}]] } 

      指定参数,参数对象(参数名作为键 key )

        { "plugins": [ [ "transform-async-to-module-method", { "module": "bluebird", "method": "coroutine" } ] ] }   ---> 启用插件

        { "presets": [ [ "env", { "loose": true, "modules": false } ] ] }   ---> 启用查件组 presets

      ---- 可以看出每个插件都是一个数组, 数组的第一项为 插件名; 第二项 为  此插件参数(参数名 为参数对象的key);

      

        

      

  • 相关阅读:
    第十周作业
    第九周编程作业与总结
    第八周编程作业及总结
    第七周编程总结
    第五周课程总结&试验报告(三)
    第四周课程总结&试验报告(二)
    第三周学习总结
    Java第二周学习总结
    2019年学习总结
    第十二周作业
  • 原文地址:https://www.cnblogs.com/baota/p/12367335.html
Copyright © 2011-2022 走看看