当前位置: 首页 > 软件库 > 开发工具 > 编译器 >

Traceur

Javascript 编译器
授权协议 Apache
开发语言 JavaScript
所属分类 开发工具、 编译器
软件类型 开源软件
地区 不详
投 递 者 百里星纬
操作系统 跨平台
开源组织 Google
适用人群 未知
 软件概览

Traceur 是一个来自 Google 的 Javascript 编译器,通过它可以体验一些很新并且有趣的 Javascript 语言特性,这些多数是还没有被当前浏览器实现的 ECMAScript 标准或草案,比如:数组比较、类、模块、迭代器、方法参数默认值、Promise等。

以下是几个例子:

数组比较(Array Comprehension):

var array = [for (x of [0, 1, 2]) for (y of [0, 1, 2]) x + '' + y];
expect(array).to.be.eql([
  '00', '01', '02', '10', '11', '12', '20', '21', '22'
]);

更精简的函数定义语法(Arrow Functions):

var square = (x) => {
  return x * x;
};
var square2 = x => x * x;
var objectify = x => ({ value: x }); // Immediate return of an object literal must be wrapped in parentheses
expect(square(4)).to.be.eql(16);
expect(square2(4)).to.be.eql(16);
expect(objectify(1)).to.be.eql({ value: 1 });

Promises:

function timeout(ms) {
  return new Promise((resolve) => {
    setTimeout(resolve, ms);
  });
}
timeout(100).then(() => {
  console.log('done');
});

更详细的语言特性列表,请参考:https://github.com/google/traceur-compiler/wiki/LanguageFeatures

  • 当ES6不兼容时,需要用到转码工具 1.Babel转码器: Babel是一个广泛使用的ES6转码器,可以将ES6代码转为ES5代码,从而在现有环境执行。 这意味着,你可以用ES6的方式编写程序,又不用担心现有环境是否支持。 // 转码前 input.map(item => item + 1); // 转码后 input.map(function (item) { return item + 1;

  • Traceur 转码器 § ⇧ Google 公司的Traceur转码器,也可以将 ES6 代码转为 ES5 代码。 直接插入网页 Traceur 允许将 ES6 代码直接插入网页。首先,必须在网页头部加载 Traceur 库文件。 <script src="https://google.github.io/traceur-compiler/bin/traceur.js"></script> <s

  • 直接插入网页 <!-- 加载Traceur编译器 --> <script src="http://google.github.io/traceur-compiler/bin/traceur.js" type="text/javascript"></script> <!-- 将Traceur编译器用于网页 --> <script src="http://google.github.i

  • 在浏览器里面如何使用? 现在ES6的使用也是一个新趋势,下面就来讲解转码的常见方法 当ES6不兼容时,需要用到转码工具 1.Babel转码器: Babel是一个广泛使用的ES6转码器,可以将ES6代码转为ES5代码,从而在现有环境执行。 这意味着,你可以用ES6的方式编写程序,又不用担心现有环境是否支持。 // 转码前 input.map(item => item + 1); // 转码后 inp

  • Traceur 转码器 Google 公司的Traceur转码器,也可以将 ES6 代码转为 ES5 代码。 直接插入网页 Traceur 允许将 ES6 代码直接插入网页。首先,必须在网页头部加载 Traceur 库文件。 <script src="https://google.github.io/traceur-compiler/bin/traceur.js"></script> <scrip

  • Traceur允许将ES6代码直接插入网页。首先,必须在网页头部加载Traceur库文件。 <script src="https://google.github.io/traceur-compiler/bin/traceur.js"></script> <script src="https://google.github.io/traceur-compiler/bin/BrowserSystem.

  • 1 Index.html <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> </head> <body> </body> <!-- 加载Traceur编译器 --> <script src="http://google.github.io/traceur-compiler/b

  • 最近用angular2.0开发前端,在使用in-memory-web-api模块模拟服务器接口时候发现了错误,准确的说是在正确使用一段时间之后发生错误,就是标题的那个,网上收了一些方法,到现在为止知道两个,和大家分享一下: (1)看一下自己的这个模块的引入方式是不是对的,包括在system.config.js中的路径。 (2)如果是运行了一段时间之后突然出错,那就把用到这个模块的文件中的所有注释全

 相关资料
  • 我使用maven命令来清理、构建整个项目、创建war并部署到服务器。我不能使用Intellij来做这件事,因为我只有社区版。它在与intellij相同的目录中构建项目。 为了加快速度,我编写了一个脚本,可以在本地“target”目录中找到比服务器中更新的已编译文件,并进行复制。虽然一切正常,但问题是Intellij并没有将使用maven编译的类视为应该跳过并重新构建整个项目的类。 目前它的工作原理

  • 词法分析器 语法分析器 语义分析及中间代码生成 代码优化 代码生成

  • 编译器 编译器将用一种语言编写的代码转换为另一种语言,而无需更改程序的含义。还期望编译器应该使目标代码高效且在时间和空间方面得到优化。 编译器设计原理提供了翻译和优化过程的深入视图。编译器设计涵盖了基本的转换机制以及错误检测与恢复。它包括词法,语法和语义分析作为前端,以及代码生成和优化作为后端。 为什么要学习编译器设计? 计算机是软件和硬件的平衡组合。硬件只是机械设备的一部分,其功能由兼容的软件控

  • 准备工作 Ubuntu 16.04 $ apt-get install build-essential subversion libncurses5-dev zlib1g-dev gawk gcc-multilib flex git-core gettext libssl-dev unzip texinfo device-tree-compiler dosfstools libusb-1.0-0-

  • 在你制作安装程序时创建了你的脚本后所要做的第二件事就是编译你的脚本。MakeNSIS.exe 就是 NSIS 编译器。它会载入你的脚本,解析并创建你的安装程序。 要编译你需要在你的 .nsi 文件上点右键并选择“Compile NSIS Script”或“Compile NSIS Script (Choose Compressor)”。这样将会使用 MakeNSISw 来引导并调用 MakeNSI

  • gcc 是 GNU 推出的功能强大、性能优越的多平台编译器,是 GNU 的代表作品之一。它能将C、C++语言源程序、汇编语言源程序和目标程序编译、链接成可执行文件,如果没有给出可执行文件的名字,gcc 将生成一个名为 a.out 的文件。 gcc 通过后缀来区分输入文件的类型: 后缀 类型 .c C语言源代码文件 .a 由目标文件构成的档案库文件 .C|.cc|.cxx C++源代码文件 .h 程

  • Handlebars.compile(template, options) 编译一个模版以立即运行。 const template = Handlebars.compile("{{foo}}"); template({}); 支持多种选项以更改模版的执行方式。 data: 设置为 false 以终止 @data 跟踪。 compat: 设置为 true 以允许递归领域查找。 knownHelpe