问题标签 [google-closure-compiler]
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.
javascript - 使用 Google Closure Compiler 可以从编译后的版本中排除一部分源代码吗?
我最近使用Dojo 工具包构建了一个项目,并且喜欢如何根据任意条件检查将一段代码标记为仅包含在编译版本中。我用它来导出私有变量以进行单元测试或抛出错误与记录它们。这是 Dojo 格式的示例,我很想知道Google Closure Compiler是否有类似这样的特殊指令。
编辑
关闭权威指南提到您可以扩展 CommandLineRunner 以添加您自己的检查和优化,这可能是一种方法。Plover看起来很有前途,因为它支持custom-passes。
javascript - 使用 Google Closure 的 @typedef 标签
Google 的 Closure 编译器有一个“@typedef”标签,但可以在代码中使用它们吗?(我知道它会起作用,但它会皱眉吗?)
所以这是我的类型
然后我可以在我的 JSDoc 注释中使用该类型。
这允许我的 IDE 自动完成传递的参数
所以声明的对象不会在代码中的任何地方使用。
那么这样可以吗?还是有更好的解决方案?
jquery - 使用闭包编译器删除 jQuery 的未使用部分
是否可以使用闭包编译器来删除 jQuery 的未使用部分?
我有一个只使用 jQuery 的网络 (json) 函数的脚本,我想要一个删除其他所有内容的缩小脚本。
我试过用它来调用它:
但我最终得到的文件不小于常规缩小的 jQuery 源代码。
编辑:我应该提到这背后的原因。该脚本将包含在 3rd 方网站中,它需要更高版本的 jQuery(1.5 或 1.6)。我认为处理此问题的最简单方法是将最新版本捆绑在脚本中(仅适用于我的脚本,不涉及 window.jQuery),删除未使用的部分以减小大小。这样,如果他们已经有旧版本的 jQuery,它就不会干扰。
node.js - Google Closure Compiler 移动了??它给出了 302 错误
我正在使用 nodejs 0.4.7 发出请求,这是我的代码:
我得到的回应是
为什么会这样?我究竟做错了什么 ?在教程中它说我应该向http://closure-compiler.appspot.com/compile发出 POST 请求...
javascript - Google Closure Compiler 以不同的编码返回?
Google Closure Compiler 返回以下代码:
它用 \u003d 和其他一些东西代替了(我认为)等号。怎么了 ?
我的帖子变量是:'compilation_level':
Edit1:只有当我设置 'output_format' : 'text' 编码才会正确。
javascript - 如何构建自定义 jquery ui 文件
我从github上 fork jQuery ui 的最后一个版本并修改了代码,现在我想构建它来创建像google 的代码一样的编译代码。我看到目录中有一个build.xml
,/build
上面写着:
我不知道如何调用deploy-release
。我应该怎么做才能生成编译后的 javascript 文件?
javascript - 测试压缩 JavaScript 代码的性能增益
我使用了 5 个 JavaScript 压缩器来压缩一个 JavaScript 库(JSMin、YUI 压缩器、Packer、闭包编译器和 UglifyJS)
现在我知道闭包编译器是减少文件大小的赢家。但是,我也想测试性能提升。什么是这样做的好方法?
我制作了一个简单的测试页面,它使用了库的所有公共方法。有没有工具可以测试这个测试页面的页面速度?例如。在浏览器上运行 X 次并返回平均加载速度。
感谢您的回答!
javascript - 使用带有闭包编译器的 jQueryUI
在使用闭包编译器缩小后,我无法让使用 jQuery UI 的 js 应用程序工作。
我做了什么:
- 去这里加载jqueryui js文件
- 要求外部 jQuery.ui
- 将结果复制到文件并将其用作外部文件
不过,该应用程序坏了。对话框不再正确显示。爆炸效果无法正常工作,并创建了多个对话框。有趣的是,jQuery UI 本身有点工作,因为创建了对话框。只是该应用程序行为不端。
我错过了什么吗?
javascript - 使用具有高级优化的 Closure 编译器时如何在 javascript 中保留全局变量?
我有自己的 Javascript 库,我想通过使用带有高级优化的 Google 闭包编译器来缩小它。通过查看文档,我了解了如何声明在库之外使用的函数。
但是我找不到如何保存在我的库中声明的全局变量的方法。闭包编译器只是删除它们,因为它认为它们从未被使用过。有人可以帮忙吗?
编辑:示例代码:
这是在我的库开始时全局定义的,但它从未在库本身中使用。当它包含在某些页面中时,它在库之外使用。但是那个 Closure 编译器不知道,这就是它删除这些声明的原因。