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 相关文章推荐
window.open()弹出居中的窗口
Feb 01 Javascript
自动最大化窗口的Javascript代码
May 22 Javascript
实现网页页面跳转的几种方法(meta标签、js实现、php实现)
May 20 Javascript
多个$(document).ready()的执行顺序实例分析
Jul 26 Javascript
jQuery中:first选择器用法实例
Dec 30 Javascript
实例代码详解javascript实现窗口抖动及qq窗口抖动
Jan 04 Javascript
用原生JS对AJAX做简单封装的实例代码
Jul 13 Javascript
Google Maps基础及实例解析
Aug 06 Javascript
微信小程序实战之顶部导航栏(选项卡)(1)
Jun 19 Javascript
使用原生js+canvas实现模拟心电图的实例
Sep 20 Javascript
JS关于刷新页面的相关总结
May 09 Javascript
如何在js代码中消灭for循环实例详解
Jul 29 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教程 变量定义
2009/10/23 PHP
php页面跳转session cookie丢失导致不能登录等问题的解决方法
2016/12/12 PHP
许愿墙中用到的函数
2006/10/07 Javascript
javascript下数值型比较难点说明
2010/06/07 Javascript
改写一个简单的菜单 弹性大小
2010/12/02 Javascript
基于jquery的finkyUI插件与Ajax实现页面数据加载功能
2010/12/03 Javascript
jQuery实现类似淘宝购物车全选状态示例
2013/06/26 Javascript
js AppendChild与insertBefore用法详细对比
2013/12/16 Javascript
通过JS来判断页面控件是否获取焦点
2014/01/03 Javascript
jquery插件方式实现table查询功能的简单实例
2016/06/06 Javascript
Extjs表单输入框异步校验的插件实现方法
2017/03/20 Javascript
深入学习nodejs中的async模块的使用方法
2017/07/12 NodeJs
Vue.js弹出模态框组件开发的示例代码
2017/07/26 Javascript
JS和Canvas实现图片的预览压缩和上传功能
2018/03/30 Javascript
JavaScript函数apply()和call()用法与异同分析
2018/08/10 Javascript
JS实现的视频弹幕效果示例
2018/08/17 Javascript
Vue cli3 库模式搭建组件库并发布到 npm的流程
2018/10/12 Javascript
vue实现微信分享功能
2018/11/28 Javascript
Vue组件教程之Toast(Vue.extend 方式)详解
2019/01/27 Javascript
vue+elementui实现点击table中的单元格触发事件--弹框
2020/07/18 Javascript
解决echarts图表使用v-show控制图表显示不全的问题
2020/07/19 Javascript
Python2.x与Python3.x的区别
2016/01/14 Python
利用Python自动监控网站并发送邮件告警的方法
2016/08/24 Python
使用numba对Python运算加速的方法
2018/10/15 Python
Python使用扩展库pywin32实现批量文档打印实例
2020/04/09 Python
python3让print输出不换行的方法
2020/08/24 Python
利用CSS3实现毛玻璃效果示例源码
2016/09/25 HTML / CSS
利用HTML5 Canvas制作一个简单的打飞机游戏
2015/05/11 HTML / CSS
《草原的早晨》教学反思
2014/04/08 职场文书
公司爱心捐款倡议书
2014/05/14 职场文书
公务员政审单位鉴定材料
2014/05/16 职场文书
文案策划岗位职责
2015/02/11 职场文书
2015学校师德师风工作总结
2015/04/22 职场文书
检讨书模板大全
2015/05/07 职场文书
运动会800米赞词
2015/07/22 职场文书
SpringBoot项目中控制台日志的保存配置操作
2021/06/18 Java/Android