webstorm ES6 转 ES5
一句话总结:用WebStorm自带的File Watcher功能+Babel实现自动转换ECMAScript 6代码为ES5代码
1.
新建一个Empty Project,然后在src目录下新建了一个main.js;
// 这一步不是必须的 只是刚上手的话 从空项目开始自己配置会少很多干扰
2.
进入设置,把JavaScript language version改成ECMAScript 6;
3.
再Then..写一段ES6代码
'use strict';
// node直接运行ES6代码时,如使用了ES6的一些关键字,比如let,就需要严格模式,否则会报错
// 这是没有严格模式时候的错误提示
// SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode function* fibs() {// Generator Function
let a = ;
let b = ;
while (true) {
yield a;
// [a, b] = [b, a + b];
b = a + b;
a = b - a;
}
}
let [first, second, third, fourth, fifth, sixth] = fibs();
console.log(first, second, third, fourth, fifth, sixth);
4.
现在IDE会出现一个File watcher提示条
先别点Add watcher!我们要先去装babel~
- 首先在根目录新建一个package.json
{
"name": "test-project",
"version": "1.0.0"
} - 然后打开IDE的Terminal,安装babel-cli
npm install --save-dev babel-cli
Good! 现在可以去点Add watcher啦,点完之后会弹出一个框,其中大部分设置IDE都帮你搞定了
- 下面第三行,Program那一项,填(其实选的是 babel.cmd)
$ProjectFileDir$/node_modules/.bin/babel
然后点OK,这个时候你就会发现左边多出来一个main-compiled.js文件啦
- 但是还没搞定!现在只是搞定了自动转换的功能,系统默认把ES6 compile成了ES6..(你应该会发现compile出来的东西跟原来的一样..Generator函数并没有被转换成ES5的格式)
所以我们需要安装Babel的preset以正确识别ES6代码;
npm install --save-dev babel-preset-es2015
- 在根目录下新建一个.babelrc文件(就是babel在当前项目的配置文件),写上
{
"presets": [
"es2015"
]
}
OK搞定!保存再回去看一下main-compiled.js 应该就变成这个样子啦,现在你在main.js里直接写ES6代码,IDE都会自动compile成ES5的代码在这里啦~
webstorm ES6 转 ES5的更多相关文章
- es6转es5
一.在没有IDE情况下的转换 在"我的电脑->D盘”新建个文件夹es6,文件夹里新建一个文件es6.js. 打开命令行窗口 1.先全局安装babel-cli,输入命令 npm inst ...
- webpack es6 to es5支持配置
1. 安装webpack npm install webpack --save-dev 2. 安装babel 实现 ES6 到 ES5 npm install --save-dev babel-co ...
- ES6转ES5:Gulp+Babel
目标: ES6代码转成ES5 对转换后的ES5进行压缩 以上步骤自动监控执行 步骤: 1.安装插件 在命令行中定位到项目根目录 安装全局 Gulp npm install -g gulp 安装项目中使 ...
- Babel 转码器 § es6转换es5
Babel 转码器 § es6转换es5 实时转码 / Repl -babel-node / babel-register(自动转码引入babel-register模块) 配置文件.babelrc ...
- es6转es5 在线转换工具
es6转es5 在线转换工具 Babeljs es6console
- vue2.0在android5.0白屏, es6转es5保证浏览器兼容性
1. 安装 npm install --save-dev babel-preset-es2015 2. 安装 npm install --save-dev babel-preset-stage-3 3 ...
- es6转es5在线工具
es6转es5在线工具:https://babeljs.io/repl/# 程序员常用在线工具:https://tool.lu/
- ES6+转ES5(webpack+babel、指定多个js文件、自动注入)
接续上篇ES6+转ES5,本篇将使用webpack和babel将多个不同目录下指定的多个ES6+语法的js文件编译为ES5,并将编译后的文件配置注入对应的html文件. 所需环境node.npm.设置 ...
- es6和es5函数参数和arguments的差别
注: 这里说的 es5 代表的都是非严格模式下. es6之前函数的参数不能传默认值: function fn(a, b){ console.log(a) console.log(b) } fn(2) ...
随机推荐
- 转: CentOS 安装 SVN1.8 客户端
from: http://blog.csdn.net/clementad/article/details/46898091 CentOS 安装SVN客户端 标签: subversionrpmcent ...
- HTML5 & 三年二班周杰伦
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- vi安装Vundle+YouCompleteMe+注释快捷'scrooloose/nerdcommenter'
Vundle is short for Vim bundle and is a Vim plugin manager. 从git上下载vundle $ git clone https://github ...
- [LeetCode] Arithmetic Slices II - Subsequence 算数切片之二 - 子序列
A sequence of numbers is called arithmetic if it consists of at least three elements and if the diff ...
- 如何理解 卷积 和pooling
转自:http://blog.csdn.net/malefactor/article/details/51078135 CNN是目前自然语言处理中和RNN并驾齐驱的两种最常见的深度学习模型.图1展示了 ...
- CCF 201512-4 送货(错误)
直接用DFS深搜,检查了好久没能发现错误,贴上来以后慢慢看... /* DFS深度优先搜索 Edge保存边 u{v,been} cnt记录走过的街道 如果没有就return ;继续递归 */ #inc ...
- python基础补漏-04-常用函数
----lambda 首先我们说,很遗憾 在python中lambda 仅仅只是一个表达式 那么如何去使用呢? 这个是lambda最简单的使用方式 一般跟map一起配合使用 --map (fun,l ...
- java-读取xml
1.使用w3c.document /** * 测试 * */ public static void testReadLabel() { String path = "C:\\Users\\h ...
- 调戏OpenShift:一个免费能干的云平台
一.前因后果 以前为了搞微信的公众号,在新浪sae那里申请了一个服务器,一开始还挺好的 ,有免费的云豆送,但是一直运行应用也要消费云豆,搞得云豆也所剩无几了.作为一名屌丝,日常吃土,就单纯想玩一玩微信 ...
- 发送ajax请求时页面被刷新
浏览器默认会认为 button 的属性是submit.type='submit',会发生提交表单的默认行为,为button添加type="button"即可.