WebStorm ES6 语法支持设置&babel使用及自动编译(详解)


Posted in Javascript onSeptember 08, 2017

一、语法支持设置

Preferences > Languages & Frameworks > JavaScript

WebStorm ES6 语法支持设置&babel使用及自动编译(详解)

二、Babel安装

1、全局安装

npm install -g babel-cli

2、当前项目,适用于使用不同babel版本的情况

npm install --save-dev babel-cli

三、Babel基本用法

# 转码结果输出到标准输出
 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

四、webstorm中使用babel

0、新建一个test.js文件,用作测试用例

input.map(item => item + 1);

1、项目中需要增加一个文件: package.json

{ "name": "application-name", "version": "0.0.1"}

2、当前项目中,安装babel

npm install --save-dev babel-cli

3、使用WebStorm自带的File Watcher功能

Preferences > Tools > File Watchers ,点击右侧的+号,选择babel,直接点击OK即可。

操作完成后,这时候修改JS代码,就会发现同步生成了一个test-compiled.js 文件,打开后发现代码和test.js代码一致。

还需要配置转码规则,继续往下看。↓↓↓

WebStorm ES6 语法支持设置&babel使用及自动编译(详解)

4、添加配置文件 .babelrc

Babel的配置文件是.babelrc,存放在项目的根目录下。使用Babel的第一步,就是配置这个文件。

该文件用来设置转码规则和插件,基本格式如下。

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

5、设置转码规则

presets字段设定转码规则,官方提供以下的规则集,你可以根据需要安装。

# 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

咱们需要安装es2015,命令如下:

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

6、更新配置文件 .babelrc

将相应的规则,保存至配置文件中。

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

7、完成,查看效果

以上步骤操作完成后,即可实现修改代码后,自动将ES6代码转换为ES5。

WebStorm ES6 语法支持设置&babel使用及自动编译(详解)

五、使用命令,手动编译代码

1、更改package.json文件

{
 "name": "application-name",
 "version": "0.0.1",
 "devDependencies": {
 "babel-cli": "^6.26.0" 
 },
 "scripts": {
 "build": "babel src -d lib"
 }
}

2、使用命令,生成ES5代码

npm run build

3、效果

会将src目录下的代码,编译到lib目录下。

WebStorm ES6 语法支持设置&babel使用及自动编译(详解)

以上这篇WebStorm ES6 语法支持设置&babel使用及自动编译(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
基于jquery的blockui插件显示弹出层
Apr 14 Javascript
javascript采用数组实现tab菜单切换效果
Dec 12 Javascript
Jquery同辈元素选中/未选中效果的实例代码
Aug 01 Javascript
Js判断参数(String,Array,Object)是否为undefined或者值为空
Nov 04 Javascript
js图片向右一张张滚动效果实例代码
Nov 23 Javascript
Javascript实现禁止输入中文或英文的例子
Dec 09 Javascript
jquery 表单验证之通过 class验证表单不为空
Nov 02 Javascript
Highcharts学习之数据列
Aug 03 Javascript
详解如何使用webpack在vue项目中写jsx语法
Nov 08 Javascript
angularJs-$http实现百度搜索时的动态下拉框示例
Feb 27 Javascript
详解单页面路由工程使用微信分享及二次分享解决方案
Feb 22 Javascript
vue之组件内监控$store中定义变量的变化详解
Nov 08 Javascript
React如何将组件渲染到指定DOM节点详解
Sep 08 #Javascript
javascript获取指定区间范围随机数的方法
Sep 08 #Javascript
原生js实现简单的模态框示例
Sep 08 #Javascript
javascript 面向对象实战思想分享
Sep 07 #Javascript
vue 封装自定义组件之tabal列表编辑单元格组件实例代码
Sep 07 #Javascript
用js实现before和after伪类的样式修改的示例代码
Sep 07 #Javascript
vue使用drag与drop实现拖拽的示例代码
Sep 07 #Javascript
You might like
php获取错误信息的方法
2015/07/17 PHP
PHP简单实现记录网站访问量功能示例
2018/06/06 PHP
TNC vs BOOM BO3 第三场2.13
2021/03/10 DOTA
javascript parseInt 大改造
2009/09/27 Javascript
基于jquery实现点击左右按钮图片横向滚动
2013/04/11 Javascript
完美兼容多浏览器的js判断图片路径代码汇总
2015/04/17 Javascript
jQuery实现的背景动态变化导航菜单效果
2015/08/24 Javascript
jquery validate demo 基础
2015/10/29 Javascript
Jquery promise实现一张一张加载图片
2015/11/13 Javascript
Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(一)
2015/12/10 Javascript
js调出上下文菜单的实例
2015/12/17 Javascript
AngularJS 使用 UI Router 实现表单向导
2016/01/29 Javascript
vue 子组件修改data或调用操作
2020/08/07 Javascript
Python单元测试框架unittest使用方法讲解
2015/04/13 Python
Python使用sax模块解析XML文件示例
2019/04/04 Python
python 中的列表生成式、生成器表达式、模块导入
2019/06/19 Python
详细整理python 字符串(str)与列表(list)以及数组(array)之间的转换方法
2019/08/30 Python
简单了解Java Netty Reactor三种线程模型
2020/04/26 Python
法国面料和小百货在线商店:Mondial Tissus
2019/03/23 全球购物
新加坡交友网站:be2新加坡
2019/04/10 全球购物
通往英国高街的商店橱窗:Down Your High Street
2020/07/19 全球购物
残疾人创业典型事迹
2014/02/01 职场文书
四年级科学教学反思
2014/02/10 职场文书
2014基层党员干部学习全国两会心得体会
2014/03/17 职场文书
党校培训自我鉴定范文
2014/04/10 职场文书
房屋转让协议书
2014/04/11 职场文书
室内设计专业自荐信
2014/05/31 职场文书
党在我心中的演讲稿
2014/09/13 职场文书
城管执法人员纪律作风整顿思想汇报
2014/09/13 职场文书
艺术节开幕词
2015/01/28 职场文书
综合办公室主任岗位职责
2015/04/01 职场文书
领导干部学习心得体会
2016/01/23 职场文书
php 获取音视频时长,PHP 利用getid3 获取音频文件时长等数据
2021/04/01 PHP
使用PDF.js渲染canvas实现预览pdf的效果示例
2021/04/17 Javascript
Python排序算法之插入排序及其优化方案详解
2021/06/11 Python
实操Python爬取觅知网素材图片示例
2021/11/27 Python