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实现的可以编辑选择的下拉框的代码
Nov 19 Javascript
关于textarea提交的内容无法换行的解决办法
Apr 09 Javascript
如何使Chrome控制台支持多行js模式——意外发现
Jun 13 Javascript
JavaScript按位运算符的应用简析
Feb 04 Javascript
浅析AMD CMD CommonJS规范--javascript模块化加载学习心得总结
Mar 16 Javascript
JS前向后瞻正则表达式定义与用法示例
Dec 27 Javascript
mongoose中利用populate处理嵌套的方法
May 26 Javascript
Ionic3 UI组件之autocomplete详解
Jun 08 Javascript
jQuery实现frame之间互通的方法
Jun 26 jQuery
优雅的在React项目中使用Redux的方法
Nov 10 Javascript
Vue 实现html中根据类型显示内容
Oct 28 Javascript
springboot+vue实现文件上传下载
Nov 17 Vue.js
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
神族 Protoss 剧情介绍
2020/03/14 星际争霸
Discuz 模板引擎的封装类代码
2008/07/18 PHP
ThinkPHP采用模块和操作分析
2011/04/18 PHP
Yii1.1中通过Sql查询进行的分页操作方法
2017/03/16 PHP
PHP在同一域名下两个不同的项目做独立登录机制详解
2017/09/22 PHP
js不是基础的基础
2006/12/24 Javascript
js获取图片大小的函数代码
2011/09/20 Javascript
js自动生成的元素与页面原有元素发生堆叠的解决方法
2013/10/24 Javascript
jQuery操作DOM之获取表单控件的值
2015/01/23 Javascript
Node.js本地文件操作之文件拷贝与目录遍历的方法
2016/02/16 Javascript
详解JavaScript中js对象与JSON格式字符串的相互转换
2017/02/14 Javascript
微信小程序中的swiper组件详解
2017/04/14 Javascript
jQuery实现鼠标滑过预览图片大图效果的方法
2017/04/26 jQuery
react native仿微信PopupWindow效果的实例代码
2017/08/07 Javascript
nodejs实现爬取网站图片功能
2017/12/14 NodeJs
基于jquery trigger函数无法触发a标签的两种解决方法
2018/01/06 jQuery
javascript用rem来做响应式开发
2018/01/13 Javascript
详解webpack-dev-server使用方法
2018/09/14 Javascript
使用Three.js实现太阳系八大行星的自转公转示例代码
2019/04/09 Javascript
vue实现多组关键词对应高亮显示功能
2019/07/25 Javascript
Vue通过配置WebSocket并实现群聊功能
2019/12/31 Javascript
JS面向对象之多选框实现
2020/01/17 Javascript
如何使用 Pylint 来规范 Python 代码风格(来自IBM)
2018/04/06 Python
[原创]Python入门教程5. 字典基本操作【定义、运算、常用函数】
2018/11/01 Python
如何使用pyinstaller打包32位的exe程序
2019/05/26 Python
Python多进程入门、分布式进程数据共享实例详解
2019/06/03 Python
pyqt5使用按钮进行界面的跳转方法
2019/06/19 Python
Python提取PDF内容的方法(文本、图像、线条等)
2019/09/25 Python
python给list排序的简单方法
2020/12/10 Python
小学毕业家长寄语
2014/01/19 职场文书
事业单位人员的自我评价范文
2014/09/21 职场文书
民政局办理协议离婚(范本)
2014/10/25 职场文书
投诉书格式范本
2015/07/02 职场文书
2016年暑期社会实践活动总结报告
2016/04/06 职场文书
使用nginx动态转换图片大小生成缩略图
2021/03/31 Servers
JavaScript实现淘宝商品图切换效果
2021/04/29 Javascript