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 相关文章推荐
silverlight线程与基于事件驱动javascript引擎(实现轨迹回放功能)
Aug 09 Javascript
在javascript中关于节点内容加强
Apr 11 Javascript
JS弹出层的显示与隐藏示例代码
Dec 27 Javascript
JavaScript表单通过正则表达式验证电话号码
Mar 14 Javascript
jquery实现动态画圆
Dec 04 Javascript
详细解读JavaScript编程中的Promise使用
Jul 27 Javascript
JavaScript中匿名函数的用法及优缺点详解
Jun 01 Javascript
微信小程序中使用ECharts 异步加载数据的方法
Jun 27 Javascript
layer.confirm取消按钮绑定事件的方法
Aug 17 Javascript
使用vuex存储用户信息到localStorage的实例
Nov 11 Javascript
js中script的上下放置区别,Dom的增删改创建操作实例分析
Dec 16 Javascript
JavaScript实现沿五角星形线摆动的小圆实例详解
Jul 28 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
第九节--绑定
2006/11/16 PHP
php记录日志的实现代码
2011/08/08 PHP
php5.4传引用时报错问题分析
2016/01/22 PHP
php gd等比例缩放压缩图片函数
2016/06/12 PHP
ThinkPHP5.0框架控制器继承基类和自定义类示例
2018/05/25 PHP
javascript 动态参数判空操作
2008/12/22 Javascript
JavaScript 克隆数组最简单的方法
2009/02/12 Javascript
jquery 模式对话框终极版实现代码
2009/09/28 Javascript
js removeChild 障眼法 可能出现的错误
2009/10/06 Javascript
javascript中的if语句使用介绍
2013/11/20 Javascript
jquery实现ajax提交form表单的方法总结
2014/03/03 Javascript
JavaScript中的分号插入机制详细介绍
2015/02/11 Javascript
javascript性能优化之事件委托实例详解
2015/12/12 Javascript
轻松实现Bootstrap图片轮播
2020/04/20 Javascript
鼠标悬停小图标显示大图标
2016/01/22 Javascript
AngularJS国际化详解及示例代码
2016/08/18 Javascript
微信小程序开发之入门实例教程篇
2017/03/07 Javascript
基于DOM节点删除之empty和remove的区别(详解)
2017/09/11 Javascript
每天学点Vue源码之vm.$mount挂载函数
2019/03/11 Javascript
Vue编写可显示周和月模式的日历 Vue自定义日历内容的显示
2019/06/26 Javascript
vue的keep-alive用法技巧
2019/08/15 Javascript
layui将table转化表单显示的方法(即table.render转为表单展示)
2019/09/24 Javascript
详解JavaScript的this指向和绑定
2020/09/08 Javascript
js前端传json后台接收‘‘被转为quot的问题解决
2020/11/12 Javascript
[02:36]DOTA2英雄基础教程 一击致命幻影刺客
2013/12/06 DOTA
Python实现将目录中TXT合并成一个大TXT文件的方法
2015/07/15 Python
Python基于Matplotlib库简单绘制折线图的方法示例
2017/08/14 Python
python获取当前目录路径和上级路径的实例
2018/04/26 Python
python找出一个列表中相同元素的多个索引实例
2019/06/11 Python
使用python实现CGI环境搭建过程解析
2020/04/28 Python
Python私有属性私有方法应用实例解析
2020/09/15 Python
幼儿园中秋节活动总结
2015/03/23 职场文书
爱国主义影片观后感
2015/06/18 职场文书
竞聘开场白方式有哪些?
2019/08/28 职场文书
nginx location中多个if里面proxy_pass的方法
2021/03/31 Servers
使用CSS实现百叶窗效果示例代码
2023/05/07 HTML / CSS