Google的Closure Compiler定位(输出)JavaScript的子集是什么?

巴克

为了进一步阐明,我的意思是Closure编译器正在输出JavaScript的哪些部分?

由于游戏的名称是代码优化,因此我绝对可以理解这是否是一个移动的目标,因此,在这种情况下,对源代码相关位的引用可能是最有用的。

本杰明·格伦鲍姆(Benjamin Gruenbaum)

在文档中指定了闭包编译器的限制

  • 编译器仅识别ECMAScript。ECMAScript 5是几乎所有地方都支持的JavaScript版本。但是,编译器还支持ECMAScript 6中的许多功能。编译器仅支持官方语言功能。

    • 编译器不保留注释。
  • 使用with编译器时,无法区分局部变量和相同名称的对象属性,因此它会重命名该名称的所有实例。
  • 编译器不会解析eval()的字符串参数,因此不会重命名该参数中的任何符号。
  • 编译器会重命名函数和函数参数,但不会更改代码中按名称引用函数或参数的任何字符串。
  • 为了正确地重命名全局变量,函数和属性,编译器必须知道对这些全局变量的所有引用。您必须告诉编译器有关在正在编译的代码之外定义的符号的信息。高级编译和外部描述了如何声明外部符号。
  • 编译的代码必须导出未编译的代码所引用的任何符号。高级编译和外部描述了如何导出符号。
  • 编译器在“高级”模式下重命名属性,但从不重命名字符串。如果需要用带引号的字符串引用属性,请始终使用带引号的字符串:
  • 编译器独立重命名属性和变量
  • 当您编译函数而不编译调用这些函数的代码时,编译器会假定这些函数从未被调用并删除它们。
  • 属性展平可以更改函数中关键字this的含义。
  • 使用Object.defineProperties或ES6 getter / setters:编译器不太了解这些构造。

关于输出

如果要使用结果检查语法树-但是闭包编译器的输出是ES5或ES3,则它们不保证输出代码中使用的实际功能。有关确切的支持,请参见“ Closure Compiler支持的JavaScript”

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Google Closure Library通过jQuery提供了什么?

如何为Google Closure Compiler网络版本设置参数?

Google Closure Compiler:通过设置CompilerOptions删除无效代码

阻止从Google Closure Compiler更改某些字符串?

为什么Google Closure认为Exception未定义?

使用Google Closure编译器和Gradle缩小JavaScript

我可以仅使用Google Closure串联JavaScript文件吗?

为什么Google Closure Compiler在扩展Date()的ES6对象上失败?

重新格式化javascript以适应google-closure-compiler的命名空间展平

如何在Google Closure Compiler中启用标头字符串文字声明?

Google Closure Editor插件

我应该使用YUI压缩器还是新的Google Closure编译器来压缩我的JavaScript?

Google Closure库发布管理

Google Closure外部依赖项

什么是Shiny中的“'closure'类型的对象不可子集”错误?

在Closure Compiler输出中包括AngularJS部分模板

Google Closure Compiler内联了重复使用的私有财产-漏洞还是我遗漏了一些东西?

Google Colab中的“私有输出”模式是什么?

我怎样才能有效地将google-closure javascript转换为现代ES6?

Google Closure中是否有适用于客户端-服务器应用程序的JavaScript代码覆盖工具?

使用Google Closure从LabelInput访问数据

来自Google Closure编译文件的TypeError

Google Closure开源项目的未来

使用 Google Closure 进行项目范围的混淆

如何使用 ajax 获取 Google Closure 响应

jQuery修复此`closure'的正确方法是什么

Foundation CSS框架的Closure Compiler externs

如何使Closure Compiler查找window.crypto?

Google云端硬盘.Py文件的正确Mimetype(输入和输出)是什么?