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 相关文章推荐
[Web]防止用户复制页面内容和另存页面的方法
Feb 06 Javascript
jquery ui对话框实例代码
May 10 Javascript
两个select多选模式的选项相互移动(示例代码)
Jan 11 Javascript
脚本合并提升javascript性能示例
Feb 24 Javascript
javascript 中的 delete及delete运算符
Nov 15 Javascript
jQuery实现二级下拉菜单效果
Jan 05 Javascript
利用JQuery写一个简单的异步分页插件
Mar 07 Javascript
JS判断输入字符串长度实例代码(汉字算两个字符,字母数字算一个)
Aug 02 Javascript
jquery拼接ajax 的json和字符串拼接的方法
Mar 11 Javascript
基于vue cli重构多页面脚手架过程详解
Jan 23 Javascript
浅谈如何通过node.js对数据进行MD5加密
May 16 Javascript
JS中的函数与对象的创建方式
May 12 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
模拟xcopy的函数
2006/10/09 PHP
php实现异步将远程链接上内容(图片或内容)写到本地的方法
2016/11/30 PHP
Laravel Eloquent ORM 多条件查询的例子
2019/10/10 PHP
JavaScript游戏之是男人就下100层代码打包
2010/11/08 Javascript
用Jquery实现多级下拉框无刷新的联动
2010/12/22 Javascript
javascript学习笔记(一) 在html中使用javascript
2012/06/18 Javascript
使用iframe window的scroll方法控制iframe页面滚动
2014/03/05 Javascript
jQuery中:text选择器用法实例
2015/01/03 Javascript
javascript实现根据iphone屏幕方向调用不同样式表的方法
2015/07/13 Javascript
text-align:justify实现文本两端对齐 兼容IE
2015/08/19 Javascript
详解使用Typescript开发node.js项目(简单的环境配置)
2017/10/09 Javascript
parabola.js抛物线与加入购物车效果的示例代码
2017/10/25 Javascript
细说webpack源码之compile流程-rules参数处理技巧(1)
2017/12/26 Javascript
JS无限级导航菜单实现方法
2019/01/05 Javascript
Vue自定义指令写法与个人理解
2019/02/09 Javascript
修改vue源码实现动态路由缓存的方法
2020/01/21 Javascript
微信小程序 获取手机号 JavaScript解密示例代码详解
2020/05/14 Javascript
Python运行的17个时新手常见错误小结
2012/08/07 Python
利用Python实现Windows下的鼠标键盘模拟的实例代码
2017/07/13 Python
python运行其他程序的实现方法
2017/07/14 Python
python 三元运算符使用解析
2019/09/16 Python
基于python实现蓝牙通信代码实例
2019/11/19 Python
Python创建数字列表的示例
2019/11/28 Python
浅谈keras2 predict和fit_generator的坑
2020/06/17 Python
Python调用C/C++的方法解析
2020/08/05 Python
python中uuid模块实例浅析
2020/12/29 Python
html5自带表单验证体验优化及提示气泡修改功能
2017/09/12 HTML / CSS
UGG雪地靴荷兰官网:UGG荷兰
2016/09/09 全球购物
跑鞋、网球鞋、网球拍、服装及装备:Holabird Sports
2016/09/19 全球购物
英国最大的高品质珠宝和手表专家:Goldsmiths
2017/03/11 全球购物
PHP如何与mysql建立链接
2013/05/05 面试题
DBA数据库管理员JAVA程序员架构师必看
2016/02/07 面试题
英语专业应届生求职信范文
2013/11/15 职场文书
2014两会学习心得:榜样精神伴我行
2014/03/17 职场文书
民主生活会对照检查材料思想汇报
2014/09/27 职场文书
新手,如何业余时间安排好写作、提高写作能力?
2019/10/21 职场文书