babel 的简单使用

以前在项目中使用.balelrc文件,可是一直不知道具体怎么使用,就知道能够将es6语法转码为es5语法。vue

今天就简单的作个例子,也算是记录一下困扰了很久的问题。react

转码步骤:webpack

  • 首先在项目的目录中安装Babel es6

  • 建立配置文件 .balelrc ,存放在项目的根目录下web

  • 利用Babel提供的命令行工具@babel/cli,用命令行进行转码vue-cli

1.1 安装Babel,能够直接使用命令行安装。

npm install --save-dev @babel/corenpm

1.2 配置文件 .babelrc

该文件用来设置转码规则和插件的,基本格式为:json

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

presets字段设定转码规则,官方提供一下的规则集,能够按需加载babel

# 最新转码规则
$ npm install --save-dev @babel/preset-env

# react 转码规则
$ npm install --save-dev @babel/preset-react

而后将这些规则加入.babelrc文件工具

{
  "presets":[
    "@babel/env",
    "@babel.preset-react"
  ],
  "plugins":[]
}

1.3 命令行转码

Babel 提供命令行工具@babel/cli,用于命令行转码。

npm install --save-dev @babel/cli

基本用法:

# 转码结果输出到标准输出
$ npx babel example.js

# 转码结果写入一个文件
# --out-file 或 -o 参数指定输出文件
$ npx babel example.js --out-file compiled.js
# 或者
$ npx babel example.js -o compiled.js

# 整个目录转码
# --out-dir 或 -d 参数指定输出目录
$ npx babel src --out-dir lib
# 或者
$ npx babel src -d lib

# -s 参数生成source map文件
$ npx babel src -d lib -s

这里附上本身转码配置文件和转码先后文件内容和转码命令(就是本身玩了一下,嘿嘿嘿~)

其实网上的资料仍是不少滴,就是本身想要知道怎么本身转码,其实用webpack也是比较简单的。

首先,安装babel-preset-env包:npm install –save-dev babel-preset-env

在根目录下建立.babelrc文件。

为了检验咱们的配置是否成功,咱们再安装babel-cli包:npm install --save-dev babel-cli,而后咱们在根目录下建立一个babel_test文件用于测试,以下:

let arr = [1, 2, 3];
console.log([...arr]);

并在package.json文件中添加npm脚本:

"scripts": {
    "dev": "vue-cli-service serve --open",
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint",
    "test:unit": "vue-cli-service test:unit",
    "test:e2e": "vue-cli-service test:e2e",
    "babel": "babel ./babel_test/test.js -o ./babel_test/res.js"
  },

该脚本的做用就是将test.js进行转码,并将转码后的内容存储到res.js文件中。

在终端执行npm run babel则会在相同目录下生成res.js:

"use strict";
var arr = [1, 2, 3];
console.log([].concat(arr));

该文件已经转码成功,说明咱们的配置是正确的。

相关文章
相关标签/搜索