美文网首页
babel.js的使用

babel.js的使用

作者: 会飞的猪l | 来源:发表于2018-08-07 11:03 被阅读594次

近期,项目经理的一些需求,打包APP放在电视上,电视的安卓版本不支持大量es6的写法,我也很无奈…………
考虑买个杯垫,明确一下需求啦


15297359276259471b8ce6a.jpg
“程序员必备神器之板砖杯垫”有了这个杯垫,需求变得越来越清晰明了,PM的话也少了很多。

好啦,先说下这个babel是什么吧!!!

babel.js

简而言之,babel就可以让我们当前的项目中随意的使用这些最新的ES6和ES7的语法,说白啦,就是把各种JavaScript千奇百怪的写法,统统转为浏览器可以好认的写法。

1.

首先,要安装下node,新建一个文件夹,作为babel的文件,然后 npm init (相关信息直接一路回车,设置默认),最后生成package.json文件

2.

编写.babelrc文件,这个是必须的,第一次没有配置,没有一点用,基本格式如下

{
  "presets": [], //设置转码规则
  "plugins": []  //设置插件
}

window下不允许直接右键创建没有文件名的文件,所以创建的使用命令行去创建,在当前目录下,使用命令行

type nul>.babelrc

就ok啦。
官方还提供了别的规则,使用直接安装,进行配置

# ES2015转码规则
npm install --save-dev babel-preset-es2015

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

# ES7不同阶段语法提案的转码规则(共有4个阶段),选装一个
npm install --save-dev babel-preset-stage-0
npm install --save-dev babel-preset-stage-1
npm install --save-dev babel-preset-stage-2
npm install --save-dev babel-preset-stage-3

然后呢,把安装好的规则写入.babelrc

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

安装babel-cil工具,利用命令行转码,命令如下

# 全局安装
npm install --global babel-cli  

# 在项目文件中安装
npm install --save-dev babel-cli

在全局安装babel-cli,意味着,如果项目要运行,全局环境必须要有babel,也就是说项目产生了对环境的依赖,并且这样做也无法支持不同项目使用不同版本的babel,所以官网强烈要求我们使用后一种安装方式,在项目中安装。
在项目中安装之后,需要改写一下package.json:

{
  //...略去了其他的内容
  "devDependencies": {
    "babel-cli": "^6.0.0"  //这里的版本号为安装的时候的版本号,一般安装的时候就会自动写入
  },
  "scripts": {
    "build": "babel src -d lib" 
    //编译整个 src 目录并将其输出到 lib 目录。这里的src指的是需要转换的目录,lib指的是输出的内容的存放目录
  },
}
注意 如果创建的目录文件名称不为src和lib,一定要替换,不然后续会报错。

转码的时候就执行

npm run build
我们还可以直接通过babel-cli直接去转码,直接转码的话,编写babelrc文件,再安装规则和cli就直接可以使用啦
# 转码结果输出到标准输出
babel example.js

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

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

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

相关文章

  • babel.js的使用

    近期,项目经理的一些需求,打包APP放在电视上,电视的安卓版本不支持大量es6的写法,我也很无奈…………考虑买个杯...

  • Babel

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

  • babel.js(二):babel-standalone.js加

    一、babel.js(一):babel-standalone.js(单机模式)[https://www.jians...

  • react学习(2)

    知识点 1:babel.js的作用:ES6=>ES5,jsx=>js2:小案例

  • 一个es6兼容性写法的问题

    一个解构语法兼容问题:在360(9.1.0) 上的版本里 在对象里解构对象,有兼容问题,用babel.js也不好使...

  • 简单的配置babel.js 编译环境

    1.项目执行npm init生成package.json文件(npm init后一直回车可以跳过设置步骤,直接使用...

  • babel.js(一):babel-standalone.js(

    一、babel-standalone.js是啥? bable-standalone.js是为非NodeJS环境而生...

  • iconfont的使用(下载使用)

    1、下载文件 2、在生命周期中引入项目 beforeCreate () { var domModule = ...

  • Gson的使用--使用注解

    Gson为了简化序列化和反序列化的过程,提供了很多注解,这些注解大致分为三类,我们一一的介绍一下。 自定义字段的名...

  • 记录使用iframe的使用

    默认记录一下----可以说 这是我第一次使用iframe 之前都没有使用过; 使用方式: 自己开发就用了这几个属...

网友评论

      本文标题:babel.js的使用

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