问题标签 [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 回答
304 浏览

javascript - 从ECMA6到ECMA5的traceur转换不起作用

为了了解 traceur 编译器如何将 ECMA6 转换为 ECMA5,我遵循了一个教程。

以下是代码。

但是h1当我在 Firefox 或 chrome 中加载页面时,标签中的内容不会改变。问题是什么?

0 投票
2 回答
499 浏览

ecmascript-6 - `traceur-compiler` 如何将 ES-next 转换为 ES-present

我用谷歌搜索找到任何现有的 ES-6 到 ES-5 转译器。在那里我找到了 traceur-compiler。我只是通过嵌入页面来尝试它,发现它工作正常。

然后我很想知道traceur-compiler引擎盖下的实际工作方式。然后我去了解库的源代码,这花了我很长时间来了解库的内部实现。

我相信如果我得到一些工具或某种机制来理解工作原理,traceur-compiler这些工具或机制显示了 ES-6 脚本的某些示例输入的等效 ES-5 输出。对我来说理解工作会容易得多。

例如,假设以下是示例 ES-6 代码

我想知道上面代码的 ES-5 等价物。

任何想法是否有 traceur-compiler 的调试模式或其他有助于我的工具。

0 投票
1 回答
1669 浏览

javascript - 在 DefaultRoute 中反应 0.13.x _classCallCheck() '不能将类作为函数调用'

我将 React 0.13.3 与 Webpack 1.9.5 和 traceur-loader 0.6.3 一起使用(之前尝试过 babel-loader),在 DefaultRoute 'Cannot call a class as a function' 中得到 _classCallCheck() 抛出的 TypeError。我没有看到我在哪里调用一个类作为一个函数。这是我的路线的样子:

以前有人遇到过这个问题吗?

0 投票
2 回答
1652 浏览

javascript - 动态 ES6 模块范围

所有当前的模块加载器都喜欢AMD,CommonJS,SystemJS使用变量定义将外部对象加载到当前模块范围内

喜欢:

或者:

如果您不知道需要从外部模块导入什么,或者只需要导入所有内容,这将成为问题,因为无法在运行时定义变量。

我想这是 ES6 翻译器不使用的主要原因

语法,它们不包含在 ES6 规范中。

因此,通过说动态模块范围,我的意思是模块变量可以在运行时定义/加载,这将允许将 ES6 语法扩展到以下内容:

在我看来,这是定义导入的更佳方式,而不是列出所有名称,例如:

现在我真正的问题:

为什么不使用with来实现这一点?

这是从 ES6 到 ES5 的简单示例翻译,可以解决问题:

文件:模块/module-1.js

至:

文件:模块/module-1.js

至:

with即使在转译器/加载器中,真的有必要避免吗?

我会感谢您对这些人的想法,因为我正在考虑编写另一个 ES6to5 翻译器和模块加载器。:)

0 投票
1 回答
1189 浏览

javascript - Traceur.js 与 Traceur-runtime.js

当我克隆和构建时,traceur我安装了 2 个文件:traceur.jstraceur-runtime.js.

这里的traceur文档(特别是)不会真正解释 和 之间的traceur.js区别traceur-runtime.js

我知道traceur.js包含 的内容是traceur-runtime.jstraceur-runtime.js一小部分traceur.js

我知道NodeJStraceur.js可以使用,traceur.js+bootstrap.js(just for initiation)用于浏览器使用,traceur-runtime.jsAngular2使用。

我的问题:

  • 有什么区别?
  • 为什么Angular2只需要traceur-runtime.js
  • 删除了哪些功能traceur.jstraceur-runtime.js(28k lines less)
  • 两者都填充缺失的功能吗?
  • 每个是做什么用的?
0 投票
1 回答
188 浏览

typescript - 为什么 Typescript 不需要 typescript-runtime,就像 traceur 需要 traceur-runtime 一样?

Typescript 和 Traceur 都将 ES6 编译为 ES5 对,那么 traceur-runtime 需要什么?其次,为什么没有打字稿运行时?

PS:我读到 traceur-runtime 填充了“缺失”功能,并且还提供了更多功能并提供了某些功能使用的辅助功能,但我不确定这真正意味着什么

0 投票
1 回答
342 浏览

yield - ES6 中“yield* undefined”和“yield undefined”的正确(规范)行为是什么?

在尝试了解如何使用 KoaJS 时,我开始意识到yield* undefinedbabel 和 traceur 之间的行为不同。Babel 似乎忽略了该语句,而 traceur 抛出了异常。可以在此处查看示例:Babel - Traceur或以下:

我尝试在规范中查找它并且只得到更多的混乱,因为规范yield看起来不像yield undefined应该返回{done: false}(无值属性),但这就是在两个转译器中发生的事情(也在上面的示例中)。至于yield*,我没有找到为什么 traceur 应该抛出的答案。我还没有用 v8 (node/iojs) 尝试这个。

所以问题是,在这两种情况下正确/预期的行为是什么?

0 投票
7 回答
15089 浏览

javascript - ECMAScript 6:WeakSet 有什么用?

WeakSet 应该通过弱引用来存储元素。也就是说,如果一个对象没有被其他任何东西引用,则应该从 WeakSet 中清除它。

我写了以下测试:

即使我的[1, 2, 3]数组没有被任何东西引用,它也不会从 WeakSet 中删除。控制台打印:

这是为什么?

另外,我还有一个问题。直接将对象添加到 WeakSets 有什么意义,如下所示:

是 Traceur 的故障还是我遗漏了什么?

最后,如果我们甚至无法遍历它也无法获得当前大小,那么 WeakSet 的实际用途是什么?

0 投票
1 回答
989 浏览

ecmascript-6 - jspm 不会将代码从 ES6 转换为 ES5

运行jspm bundle-sfx some/input some/output.js不会将我的代码从 ES6 转换为 ES5。这使得输出文件不可用。

输入文件的示例内容:

0 投票
1 回答
310 浏览

javascript - 如何在运行中将 await 与 traceur 编译器一起使用?

我需要帮助来配置我的浏览器以使用跟踪编译器。我已经尝试了几种方法来让一个简单的异步代码工作,但还没有成功。代码如下:

traceur 编译器链接显示它应该可以工作在这里

出现以下错误:

["file:///.../traceur_inline_script_1.js:8:8: 需要分号", "file:///.../traceur_inline_script_1.js:9:9: 需要分号"]

tracerRuntimeOptions 看起来不错:

我尝试了几种变体,但还没有成功。有人可以帮我写一个工作代码吗?

提前致谢。