zoukankan      html  css  js  c++  java
  • 浅析babel

    babel是目前es6转es5的主流工具,有了babel我们可以在node端、浏览器端使用es6的语法;

    在不同环境中使用babel

      日常开发工作中,常常会在命令行模式下使用babel,或者在构建工具中使用babel

      1.项目中使用babel,不借助构建工具  [局部安装cli]

        这里不使用全局安装babel-cli,原因:不能在各个工程中使用不同版本的babel

                第一步: 在项目根目录下创建package.json

        第二步: 局部安装babel-cli

    sudo npm install babel-cli --save-dev

        第三步: 局部安装转码规则 以及 配置文件

    sudo npm install babel-preset-es2015 --save-dev    

        在工程根目录下创建.babelrc文件,并在文件中配置参数

     {
        "presets": [
          "es2015", //配置安装的转码规则 es2015
          "react",
          "stage-2"
        ],
        "plugins": []
      }

        第四步: 在package.json文件中修改配置  以及 执行命令

    {
      // ...
      "devDependencies": {
        "babel-cli": "^6.0.0"
      },
      "scripts": {
        "build": "babel src -d dest" //-d表示转码整个文件夹
      },
    }

        在项目根目录下执行  npm run bulid 即执行转码命令 参见 npm run 

    npm run bulid

       2.命令行中使用babel  [全局安装cli]

        如果全局安装babel命令行 babel-cli,在项目工程中就不需要使用配置package.json文件并执行npm run命令

        全局安装babel-cli就可以在项目工程中直接使用babel命令

    //第一步: 全局安装babel-cli 
    sudo npm install babel-cli -g 
    
    //第二步: 在项目工程中局部安装转码规则 以及 配置.babelrc文件
    sudo npm install babel-preset-es2015 --save-dev
    
    在项目工程根目录下创建一个.babelrc文件,并配置规则,与局部安装配置相同
    
    //第三步: 在项目工程下使用babel命令
    babel src -d dest 

      3.构建工具中使用babel插件(以gulp为例)

        在构建工具grunt、gulp中使用babel的方法基本相同,这里讲解gulp中的使用;首先要安装gulp封装好的babel编译器 gulp-babel 以及 转码规则 babel-preset-es2015;

    sudo npm install gulp-babel babel-preset-es2015

        安装好babel编译器和转码规则后,创建任务;

        可以参考gulp-babel文档,具体如下:

    const gulp = require('gulp');
    const babel = require('gulp-babel');
     
    gulp.task('default', () => {
        return gulp.src('src/app.js')
            .pipe(babel({
                presets: ['es2015']
            }))
            .pipe(gulp.dest('dist'));
    });

    babel5 && babel6差异

      

     (未完待续)

    参考:

    [1] babel入门教程

    [2] babel5升级到babel6总结

  • 相关阅读:
    LeetCode 40. 组合总和 II(Combination Sum II)
    LeetCode 129. 求根到叶子节点数字之和(Sum Root to Leaf Numbers)
    LeetCode 60. 第k个排列(Permutation Sequence)
    LeetCode 47. 全排列 II(Permutations II)
    LeetCode 46. 全排列(Permutations)
    LeetCode 93. 复原IP地址(Restore IP Addresses)
    LeetCode 98. 验证二叉搜索树(Validate Binary Search Tree)
    LeetCode 59. 螺旋矩阵 II(Spiral Matrix II)
    一重指针和二重指针
    指针的意义
  • 原文地址:https://www.cnblogs.com/RocketV2/p/6484024.html
Copyright © 2011-2022 走看看