es6报错问题

自己写的js文件 导入为插件了, 里面用到es6的语法,在浏览器中运行没问题,模拟器调试时好时坏的,然后构建Ios版本的时候就报错了, 这个问题如何解决呢?不用插件,用require似乎是可以的
求好心人帮忙解答一下 感激不尽!

1赞

试一下:

  1. 打开https://es6console.com/
  2. 打开并复制插件中所有代码到上面打开的页面中左边ECMAScript6一栏
  3. 复制右边ECMAScript5中所有编译出来的代码,覆盖插件的所有代码,保存
    原因:
    原生平台只支持ES5,Creator会把除插件外的代码编译成ES5,所以你要自己手动把插件的ES6代码编译成ES5。

这种转换是完全的转换吗?
比如说箭头函数 =>是没有this作用域的,这点和普通函数有本质的不同。这个也能转换?

还有let 和 var

比如如果这么写:

for (let i = 0; i < 5; i ++) {
  let i =1; 
}

这是可行的,因为循环体内外的let作用域不一样所以是两个变量,如果把let换成var的话那么就是死循环了。
这个也能转换?

我刚才试了下,ES5只是单纯的把let转换为var.

我估计这个转换器只能实现某些功能性的转换。但是作用域应该无法通过表达式的转换而转换吧。

那是因为你这段代码let直接替换成var没有影响。请研究下面这两段代码的区别:

以及:

大神 最新问题 用require依然有问题 用模拟器调试出现了如下报错:
Simulator: TypeError: Object.assign is not a function

不是说不用插件就可以用es6吗?箭头貌似也不能用

谢谢啦!

目前导入为插件不会自动转换为 ES5,参考 http://forum.cocos.com/t/es6/45094

请问什么时候可以完全支持ES6啊?