最近用PHPstorm 写了点es6的语法的东西, what ? 编辑器报错了

查了查, 原来把编辑器设置一下,就可以了,

Preferences > Languages & Frameworks > JavaScript

然后,运行代码, what? 又报错了…

看来我们需要自动转码为Es5,不然还不行.

Babel是一个广泛使用的ES6转码器,可以将ES6代码转为ES5代码,从而在浏览器或其他环境执行。这意味着,你可以用ES6的方式编写程序,又不用担心现有环境是否支持。

而且你还希望每次修改代码时能自动转码,所以还要用到编辑器的file watcher(当然还有其他解决方案)

在根目录新建一个package.json

{

"name": "hello",

"version": "1.0.0",

}

1

2

3

4

{

"name":"hello",

"version":"1.0.0",

}

然后 npm install -g babel

安装babel

Preferences > Tools > File watchers

File Type:配置该监听器监听的文件类型,可以在Preferences > Editor > File types中配置

Scope:配置该监听器的监听范围,可自定义新的范围,也可以使用Preferences > Appearance & Behavior > Scopes

Program:babel的安装位置

Arguments:命令执行参数,参见Babel CLI

Working directory:babel命令执行的位置,默认为文件所在目录

但是还没搞定!现在只是搞定了自动转换的功能,系统默认把ES6 compile成了ES6..(你应该会发现compile出来的东西跟原来的一样..Generator函数并没有被转换成ES5的格式)

所以我们需要安装Babel的preset以正确识别ES6代码;和刚才一样,在npm安装babel的ES6的preset

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

在根目录下新建一个.babelrc文件(就是babel在当前项目的配置文件),写上

{

"presets": [

"es2015"

]

}

1

2

3

4

5

{

"presets":[

"es2015"

]

}

OK搞定!保存再回去看一下main-compiled.js 应该就变成这个样子啦,现在你在main.js里直接写ES6代码,IDE都会自动compile成ES5的代码在这里啦~

这样对文件做修改会随时生成编译成ES5的文件以及sourceMap文件

function he(a=1,b=2) {

console.log(123);

}

1

2

3

functionhe(a=1,b=2){

console.log(123);

}

编译后

"use strict";

function he() {

var a = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;

var b = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;

console.log(123);

}

//# sourceMappingURL=c.js.map

1

2

3

4

5

6

7

8

9

"use strict";

functionhe(){

vara=arguments.length>0&&arguments[0]!==undefined?arguments[0]:1;

varb=arguments.length>1&&arguments[1]!==undefined?arguments[1]:2;

console.log(123);

}

//# sourceMappingURL=c.js.map

大功告成!

php es6写法,Web/PHPStorm ES6 语法支持以及实时编译相关推荐

  1. WebStorm ES6 语法支持设置

    ECMAScript 6是JavaScript语言的下一代标准,已经在2015年6月正式发布了.Mozilla公司将在这个标准的基础上,推出JavaScript 2.0. ES6的目标,是使得Java ...

  2. 【Web】ES6学习笔记

    目录 第1章 ECMASript 相关介绍 1.1.什么是 ECMA 1.2.什么是 ECMAScript 1.3.谁在维护 ECMA-262 1.4.为什么要学习 ES6 第 2 章 ECMASri ...

  3. 尚硅谷Web前端ES6教程详细笔记,涵盖ES6-ES11

    1 ES介绍 2 ES6的新特性 2.1 let关键字 2.1.1 声明变量 let a; let b,c,d; let e=100; let f=521,g="iloveyou" ...

  4. web之ES6,ES6浅层次(上)

    ES6 文章目录 ES6 1,什么是ES6? 2,let和const let与var的区别(官宣) 作用域 const(音标['kɒnst],读成看思特) const定义对象和数组 3,解构赋值(不是 ...

  5. ES6对象(1):新增语法与API

    目录 一.新增的对象字面量语法 1.成员速写 2.方法速写 3.计算属性名 二.Object的新增API 1.Object.is 2.Object.assign 3.Object.getOwnProp ...

  6. JavaScript get set方法 ES5/ES6写法

    网上鲜有get和set的方法的实例,在这边再mark一下. get和set我个人理解本身只是一个语法糖,它定义的属性相当于"存储器属性" 为内部属性提供了一个方便习惯的读/写方式 ...

  7. JavaScript get set方法 ES5 ES6写法

    title: JavaScript get set方法 ES5/ES6写法 date: 2018-05-07 10:38:50 tags: 前端 categories: 前端 网上鲜有get和set的 ...

  8. react-native ES5与ES6写法对照表

    转载链接:http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/react-native-es5-and-es6-writing-tabl ...

  9. ES6写法的reactjs

    reactjs是目前最火的单页面框架,面向ES6语法,使用JSX语法进行组件化开发.JSX语法是把js和html混合起来编写代码,其核心就是以"<"">&qu ...

最新文章

  1. 分页控件-ASP.NET(AspNetPager)
  2. 取得前九条之后的数据
  3. windows命名管道
  4. Mac安装MySQL数据库
  5. .NET连接SAP系统专题:C#获取RFC中自定义的异常(四)
  6. mysql实验总结存在问题_mysql表分区实验总结
  7. 笨办法学 Python · 续 练习 51:`lessweb`
  8. Linux_Kernel_Function_Tracing_hooking.jpg
  9. “好烦!自拒修电脑后,妹子又约我学机器学习,咋办?”
  10. gradle 修改java代码_Gradle 插件
  11. 购买服务器机柜需要考量的几个问题
  12. UnityShader18.1:立方体贴图(下)
  13. (转载)十四步实现拥有强大AI的五子棋游戏
  14. 利用朴素贝叶斯进行新闻分类
  15. linux下轻松修改pdf文件
  16. Word2010下划线不显示
  17. python自动做表格_用Python做自动化的表格处理(批量智能替换) - Python趣用之法2...
  18. 制作各种docker镜像
  19. h264基本编码参数
  20. wangeditor设置字体_自定义颜色、字体、字号

热门文章

  1. DB2数据库报 [SQL0805N Package NULLID.SQLLD003 was not found.]
  2. 好文转发《我现在是这样编程的》
  3. JDK1.7配置及测试
  4. 查看端口占用情况:FPort和Moo0 ConnectionWatcher软件介绍
  5. 在 C# 中,new 关键字可用作运算符、修饰符或约束。
  6. 简述python垃圾回收机制_python中的垃圾回收机制简述
  7. gitlab 安装_Linux学习14CentOS安装gitlab环境
  8. utf8 bom 去掉 java_utf-8-BOM删除bom
  9. 母根服务器对接 不准发信息,中国的母根服务器
  10. 统计消息总数_和公牛一战,库里创三个记录,耀眼的还是三分球总数