详解设置Webstorm 利用babel将ES6自动转码成ES5


Posted in Javascript onDecember 20, 2017

前言:ECMAScript 6是JavaScript语言的下一代标准,已经在2015年6月正式发布了。Mozilla公司将在这个标准的基础上,推出JavaScript 2.0。ES6的目标,是使得JavaScript语言可以用来编写大型的复杂的应用程序,成为企业级开发语言。但是现代浏览器对ES6新特性支持度不高,所以要想在浏览器中直接使用ES6的新特性就得借助别的工具来实现。

今天我就来分享一下,如何配置Webstorm 利用babel将ES6自动转码成ES5。Babel是一个广泛使用的转码器,babel可以将ES6代码完美地转换为ES5代码,所以我们不用等到浏览器的支持就可以在项目中使用ES6的特性。

1.在Webstorm 里新建一个空项目,取名为es6demo.

2..然后在根目录下面新建一个package.json,只需要写明两个属性即name和version。

详解设置Webstorm 利用babel将ES6自动转码成ES5

3.打开webstorm的终端(Terminal),快捷键为Alt+F12,安装babel-cli。也可全局安装。

或者这样打开:

详解设置Webstorm 利用babel将ES6自动转码成ES5

安装babel-cli: npm install --save-dev babel-cli

4.安装完babel-cli后,可以看到新生成了一个node_modules文件和一个package-lock.json文件,同时发现package.json文件中多出了

"devDependencies": {
"babel-cli": "^6.26.0"

}

这样一行代码,此代码说明babel-cli已安装成功,形成了依赖。

详解设置Webstorm 利用babel将ES6自动转码成ES5

5.然后再Settings->Languages & Frameworks中选择Javascript选项,同时将version版本选择为ECMAScript6即可。

详解设置Webstorm 利用babel将ES6自动转码成ES5

6.再在webstorm的终端(Terminal),安装Babel的preset以正确识别ES6代码,命令如下:

npm install --save-dev babel-preset-es2015

安装完后同时在package.json文件中会多出

"babel-preset-es2015": "^6.24.1" 这样一行代码,说明babel-preset-es2015也成功安装上了。

详解设置Webstorm 利用babel将ES6自动转码成ES5

7.在根目录下面新建一个名为.babelrc文件,内容如下:

{

 "presets": [

  "es2015"

 ]

}

8.设置File Watcher. File--settings--Tools--File Watcher。

详解设置Webstorm 利用babel将ES6自动转码成ES5

详解设置Webstorm 利用babel将ES6自动转码成ES5

9.创建一个名为test.js,在里面写es6的语法,不再报错。test-compiled.js就是编译成es5的文件,默认是严格模式。

详解设置Webstorm 利用babel将ES6自动转码成ES5

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
使用闭包对setTimeout进行简单封装避免出错
Jul 10 Javascript
函数式 JavaScript(一)简介
Jul 07 Javascript
jQuery实现的输入框选择时间插件用法实例
Feb 28 Javascript
window.onload使用指南
Sep 13 Javascript
微信小程序 框架详解及实例应用
Sep 26 Javascript
jQuery实现根据生日计算年龄 星座 生肖
Nov 23 Javascript
vue-router3.0版本中 router.push 不能刷新页面的问题
May 10 Javascript
Vue 利用指令实现禁止反复发送请求的两种方法
Sep 15 Javascript
Vue 禁用浏览器的前进后退操作
Sep 04 Javascript
js实现可爱的气泡特效
Sep 05 Javascript
javascript贪吃蛇游戏设计与实现
Sep 17 Javascript
vue+canvas实现拼图小游戏
Sep 18 Javascript
代码详解Vuejs响应式原理
Dec 20 #Javascript
详解Javascript 中的 class、构造函数、工厂函数
Dec 20 #Javascript
在一个页面实现两个zTree联动的方法
Dec 20 #Javascript
浅谈基于Vue.js的移动组件库cube-ui
Dec 20 #Javascript
Angular2+如何去除url中的#号详解
Dec 20 #Javascript
JS基于递归实现网页版计算器的方法分析
Dec 20 #Javascript
JS小球抛物线轨迹运动的两种实现方法详解
Dec 20 #Javascript
You might like
一个程序下载的管理程序(四)
2006/10/09 PHP
C# Assembly类访问程序集信息
2009/06/13 PHP
Yii2实现log输出到file及database的方法
2016/11/12 PHP
laravel框架添加数据,显示数据,返回成功值的方法
2019/10/11 PHP
js获取元素在浏览器中的绝对位置
2010/07/24 Javascript
深入了解javascript中的prototype与继承
2013/04/14 Javascript
同时使用n个window onload加载实例介绍
2013/04/25 Javascript
使用Node.js实现HTTP 206内容分片的教程
2015/06/23 Javascript
JQuery中Ajax()的data参数类型实例分析
2015/12/15 Javascript
AngularJS 中的指令实践开发指南(一)
2016/03/20 Javascript
JavaScript错误处理和堆栈追踪详解
2017/04/18 Javascript
通过js修改input、select默认字体颜色
2017/04/19 Javascript
Angular.js项目中使用gulp实现自动化构建以及压缩打包详解
2017/07/19 Javascript
浅谈es6语法 (Proxy和Reflect的对比)
2017/10/24 Javascript
浅谈React Event实现原理
2018/09/20 Javascript
vue elementUI使用tabs与导航栏联动
2019/06/21 Javascript
JS判断浏览器类型与操作系统的方法分析
2020/04/30 Javascript
详解javascript void(0)
2020/07/13 Javascript
[03:18]【TI9纪实】社区大触GL与木木
2019/08/25 DOTA
Python基于scapy实现修改IP发送请求的方法示例
2017/07/08 Python
Python中函数及默认参数的定义与调用操作实例分析
2017/07/25 Python
Python解决抛小球问题 求小球下落经历的距离之和示例
2018/02/01 Python
Jupyter安装nbextensions,启动提示没有nbextensions库
2020/04/23 Python
Python地图绘制实操详解
2019/03/04 Python
python django框架中使用FastDFS分布式文件系统的安装方法
2019/06/10 Python
10款最好的Python开发编辑器
2019/07/03 Python
Django调用百度AI接口实现人脸注册登录代码实例
2020/04/23 Python
css3媒体查询中device-width和width的区别详解
2020/03/27 HTML / CSS
AmazeUI 点击元素显示全屏的实现
2020/08/25 HTML / CSS
俄罗斯设计师家具购物网站:The Furnish
2019/12/01 全球购物
秋季运动会广播稿大全
2014/02/17 职场文书
前台岗位职责范本
2015/04/16 职场文书
Python实现8种常用抽样方法
2021/06/27 Python
Python函数对象与闭包函数
2022/04/13 Python
Redis过期数据是否会被立马删除
2022/07/23 Redis
MySQL索引失效场景及解决方案
2022/07/23 MySQL