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 相关文章推荐
Javascript-Mozilla和IE中的一个函数直接量的问题
Jan 09 Javascript
基于jquery的当鼠标滚轮到最底端继续加载新数据思路分享(多用于微博、空间、论坛 )
Oct 10 Javascript
php图像生成函数之间的区别分析
Dec 06 Javascript
js获取当前月的第一天和最后一天的小例子
Nov 18 Javascript
JavaScript实现的使用键盘控制人物走动实例
Aug 27 Javascript
JS实现点击复选框将按钮或文本框变为灰色不可用的方法
Aug 11 Javascript
js获取iframe中的window对象的实现方法
May 20 Javascript
在IE8上JS实现combobox支持拼音检索功能
May 23 Javascript
使用jquery判断一个元素是否含有一个指定的类(class)实例
Feb 12 Javascript
详解用node-images 打造简易图片服务器
May 08 Javascript
js实现带进度条提示的多视频上传功能
Dec 13 Javascript
详解vue 在移动端体验上的优化解决方案
May 20 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给文字内容中的关键字进行套红处理
2016/04/12 PHP
利用PHP访问带有密码的Redis方法示例
2017/02/09 PHP
限制文本字节数js代码
2007/03/06 Javascript
javascript-表格排序(降序/反序)实现介绍(附图)
2013/05/30 Javascript
Jquery多选框互相内容交换的实例代码
2013/07/04 Javascript
设置jsf的选择框h:selectOneMenu为不可编辑状态的方法
2014/01/07 Javascript
jquery队列queue与原生模仿其实现方法分享
2014/03/25 Javascript
nodejs创建web服务器之hello world程序
2015/08/20 NodeJs
jQuery实现简单的文件上传进度条效果
2020/03/26 Javascript
jQuery Validation Engine验证控件调用外部函数验证的方法
2017/01/18 Javascript
详解Sea.js中Module.exports和exports的区别
2017/02/12 Javascript
js实现三级联动效果(简单易懂)
2017/03/27 Javascript
VUE多层路由嵌套实现代码
2017/05/15 Javascript
详解Angular4中路由Router类的跳转navigate
2017/06/09 Javascript
underscore之Collections_动力节点Java学院整理
2017/07/10 Javascript
webstrom Debug 调试vue项目的方法步骤
2018/07/17 Javascript
JavaScript实现简单的隐藏式侧边栏功能示例
2018/08/31 Javascript
Vue通过for循环随机生成不同的颜色或随机数的实例
2019/11/09 Javascript
微信小程序入门之指南针
2020/10/22 Javascript
[03:17]史诗级大片应援2018DOTA2国际邀请赛 致敬每一位坚守遗迹的勇士
2018/07/20 DOTA
Python程序中用csv模块来操作csv文件的基本使用教程
2016/03/03 Python
详解Python命令行解析工具Argparse
2016/04/20 Python
Python正则表达式实现截取成对括号的方法
2017/01/06 Python
Python绑定方法与非绑定方法详解
2017/08/18 Python
Python读取csv文件实例解析
2019/12/30 Python
详解Python 重学requests发起请求的基本方式
2020/02/07 Python
Python Selenium模块安装使用教程详解
2020/07/09 Python
心理健康教育心得体会
2013/12/29 职场文书
九年级历史教学反思
2014/01/27 职场文书
2014年学习全国道德模范事迹思想汇报
2014/09/15 职场文书
个人四风问题整改措施思想汇报
2014/10/04 职场文书
村干部群众路线整改措施思想汇报
2014/10/12 职场文书
试用期转正工作总结2015
2015/05/28 职场文书
2015年财务人员个人工作总结
2015/07/27 职场文书
SpringCloud Feign请求头删除修改的操作代码
2022/03/20 Java/Android
2022漫威和DC电影上映作品
2022/04/05 欧美动漫