问题标签 [traceur]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
101 浏览

traceur - `inline` 和 `register` 模块选项

做什么--modules inline--modules register选项做什么?

https://github.com/google/traceur-compiler/wiki/Options-for-Compiling

0 投票
1 回答
22240 浏览

javascript - 覆盖一个setter,getter也必须被覆盖

覆盖set属性的方法,并且该方法似乎get也必须被覆盖,否则undefined返回(即,该get方法未继承,取消注释get property()上面的子类方法,一切正常)。

我认为这是规范的一部分。如果行为是交叉编译的结果,它可能会遵循。可以肯定的是,这是编写重写的 setter 和 getter 的正确方法(同时或根本不)?

0 投票
1 回答
366 浏览

ecmascript-6 - How to test an ES6 generator function from an ES5 test framework

Given an ES6 class with generator function how do you run that generator function from ES5 code:

From an ES5 testing framework:

This does not throw any errors, will run the setup function, however does not iterate through the array.

0 投票
4 回答
2482 浏览

javascript - Javascript ES6 消除了类中任何地方的“this”关键字的使用

我现在正在使用 Traceur 来编写一些未来的 javascript,这是我在某个类中拥有的一个函数

当然,与任何传统的 javascript 代码一样,它到处都被 this 关键字覆盖。来自 Java 之类的,当我不需要时,在引用类中的字段时必须指定它是非常不自然的。

有没有办法让 Traceur 像 Java 一样解释类?(即在未指定时自动插入,等等)

0 投票
4 回答
115297 浏览

javascript - 获取 ES6 类实例的类名

是否有任何“和谐”的方法可以从 ES6 类实例中获取类名?以外

目前我指望 Traceur 实施。而且似乎 Babel 有一个 polyfill,Function.name而 Traceur 没有。

综上所述:在 ES6/ES2015/Harmony 中没有其他方法,在 ES.Next 中没有任何预期的 ATM。

它可能为未缩小的服务器端应用程序提供有用的模式,但在用于浏览器/桌面/移动的应用程序中是不需要的。

Babel用于core-jspolyfill Function.name,应根据需要为 Traceur 和 TypeScript 应用程序手动加载。

0 投票
1 回答
5215 浏览

promise - 在 ES6 中扩展 Promise

我正在尝试扩展 Promise:

然后在派生类上调用static resolve,直接创建resolved promise:

在 traceur 中,这会产生:

在 Babel (run as babel-node --experimental promise.js) 中,它会导致:

我依赖于这个:

Promise 的所有静态方法都支持子类化:它们通过接收器创建新实例(想想:new this(...))并通过它访问其他静态方法(this.resolve(...) 与 Promise.resolve(.. .))。

来自http://www.2ality.com/2014/10/es6-promises-api.html

似乎节点检查thison 调用,例如Promise.resolve.call(this, val)是 a Promise,而不是(正确?)Promise 或其派生类(v0.12.0)。

以上是否不再有效,或者没有纳入规范,或者只是没有由 traceur 和/或节点实现?

0 投票
1 回答
34 浏览

ecmascript-6 - 需要在循环中声明局部变量吗?

我发现以下工作正常:

并且没有任何事先声明_next,如果我声明变量,traceur 实际上会引发意外的关键字错误while ((let _next = itr.next()) ...

这是 ECMAScript 6 吗?

0 投票
1 回答
52 浏览

ecmascript-6 - traceur 中另一个类的引用方法

我正在使用 traceur 测试 ES6 中的类,但它没有按我预期的那样工作。

我正在尝试使用一个方法作为另一个类中的引用,但是当它被调用时,我在读取this.

这是我的代码:

我的预期日志是:

但它显示:

0 投票
2 回答
912 浏览

javascript - 在单个构建文件中使用带有 traceur 的 ES6 模块

我只是有一个简单的问题在任何地方都找不到,他整个早上都在谷歌上搜索。关于traceur的信息不多,至少对我来说不是那么清楚。

当我使用 traceur 编译单个输出文件并在带有 traceur-runtime 的浏览器中使用它时,应该如何实现 ES6 模块?导入和导出不断获得意外令牌。

我正在使用 gulp-traceur 并尝试了所有模块选项 //'commonjs' //'amd'、'commonjs'、'instantiate'、'inline'、'register'。

我有一个疑问是我一直在寻找关于 commonjs 的答案,但我使用 ES6 模块的想法是拥有不同的源,然后从主导入它们并将所有这些结果编译到一个文件中(我的意思是我不需要在浏览器中异步加载模块)

这是吞咽任务

导入时意外的令牌来自应用程序

或者

(尝试了几种方法)

导出时也来自circle.js

export default Circle;export Circle;(也尝试了几种方法)

0 投票
1 回答
664 浏览

browserify - 从 ES6 模块生成 browserify 输出和 System.register() 模块?

我按照2ality的最终语法示例对 ES6 模块进行了编码,没有.js后缀。

我还将模块组织成供应商/项目目录层次结构和模块命名方案,因为System.register()模块格式有效地将已注册的模块放置到相同的命名空间中。

问题如下,如果我引用 2ality 的例子:

上面的代码可以直接在浏览器中正常工作,例如,使用traceures6-module-loader(请参阅参考资料example-es6-modules.html)。当import遇到声明时,.js后缀似乎会自动附加到文件名,并被lib.js加载。只要System.paths配置为指向 vendor/project 目录的顶部,就可以直接在浏览器中执行 ES6 模块。

当使用SystemJS builder捆绑到单个System.register()模块格式文件时,上述内容也可以正常工作(请参阅参考资料)。只要在生成模块时设置为供应商/项目层次结构的顶部(请参阅builder.js),那么模块就会以供应商/项目前缀命名。example-system-register.htmlbaseURL

问题是,当我尝试为 browserify 的输入生成 CommonJS 模块,同时执行转换traceur并且es6ify不将.js后缀附加到声明中的文件名时import,会导致以下几行错误:

上面的错误是因为traceur没有给import声明添加.js后缀。'gso/eonjs/MomentRecurRule'否则会找到该文件。

如果 ES6 模块被转编译为单个 CommonJS 模块,browserify 会报告相同的错误,找不到要导入的文件 - browserify 也不会类似地自动.js为导入文件名添加后缀。

那么问题是,ES6 模块在浏览器中执行没有问题,System.register()也可以作为捆绑模块加载,但是如何转换为浏览器可执行文件?