问题标签 [google-closure]

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 投票
2 回答
2957 浏览

javascript - 用户 Google Closure 延迟加载 javascript

我特别喜欢通过使用 Google Closure 来要求其他 javascript 类的能力,但我想知道是否可以使用 goog.require 来延迟加载其他 javascript 类。当我在页面加载后尝试使用 goog.require 时,它​​似乎刷新或变为空白 :( 任何按需获取脚本的方式,并且可能使用回调设置它,所以我可以在加载完成后运行一些 javascript ?

0 投票
5 回答
18802 浏览

javascript - 有没有办法像 Google Closure Library API 文档那样生成 Javascript API 文档?

我正在尝试为我的 Javascript 源代码生成 HTML 文档的工具。

有谁知道谷歌用来在以下网址生成界面的工具是否是开源的?我能产生类似的输出吗?

http://closure-library.googlecode.com/svn/docs/class_goog_proto2_Serializer.html

http://closure-library.googlecode.com/svn/docs/namespace_goog_date.html

http://closure-library.googlecode.com/svn/docs/namespace_goog_events.html

http://closure-library.googlecode.com/svn/docs/class_goog_gears_Database.html

http://closure-library.googlecode.com/svn/docs/class_goog_ui_DatePicker.html

我知道http://code.google.com/p/jsdoc-toolkit/

但我想知道谷歌使用的特定生成器是否可供我用于我自己的源代码(如果这很重要,这将是开源的)。

提前致谢...

0 投票
2 回答
1540 浏览

jquery - 使用 Google 的 Visualization API 和 Closure 生成 BarChart

我有一个使用 Google 的 Visualization API 生成时间线的网页,但现在我正在尝试向其中添加一些 jQuery 的东西,事情正在崩溃。所以,我正在尝试用 Closure 来做到这一点。但是,我似乎找不到任何关于如何在 Closure 下使用 Visualization API 的示例。有谁知道我在哪里可以找到任何例子?

我现在得到的是基于(阅读复制批发)谷歌注释时间线示例,稍作修改以通过 AJAX 将数据加载为 JSON。现在 AJAX 查询是一个硬编码的 URL,我试图让它从一个表单构造 URL


我找到了如何做时间线:

不幸的是,我还没有找到如何制作条形图/柱形图(要求'gviz.BarChart'会导致编译时错误)。


什么最终起作用:

在 HTML 中:

在 JS 中:

0 投票
2 回答
1173 浏览

google-closure - 使用 Google Closure Compiler 作为库而不是脚本

我是否可以编写自己的 Java 主类来调用 compiler.jar 中的方法。

我想对编译器进行多次调用,不想编写代码来使用 Runtime.exec,也不想在每次调用之前等待 Java 加载。

0 投票
1 回答
559 浏览

google-app-engine - 如何将闭包编译器配置为在 Google App Engine Java 上运行

我怀疑我需要在某个地方添加一个 Ant 任务,但是在哪里?

0 投票
3 回答
4792 浏览

javascript - 是否可以将 Closure Compiler ADVANCED_OPTIMIZATIONS 与 jQuery 一起使用?

我不断收到给定对象不存在函数(重命名)的错误。是否有版本或设置或其他东西使它工作?

0 投票
2 回答
427 浏览

google-closure - compiler.jar 在一个 exec 中简单地编译文件列表

是否可以在单个命令中提供多个源文件,每个源文件都有自己的目标文件?这样,Java 就不必为我编译的每个文件加载。我正在使用 SIMPLE_OPTIMIZATIONS。

我知道有比一次一个更好的方法,但是它们似乎都需要修改代码,这对于相关项目来说花费了太多时间。

0 投票
3 回答
4448 浏览

javascript - 警告 - 危险地使用全局 this 对象

在 Google Closure Compiler 中,我收到警告

警告 - 危险地使用全局 this 对象

这是一个例子。错误行和偏移量是指单词的开头this

我只是将其更改为匿名方法,但我aToggle在文件的其他地方重新使用,因此需要命名。

我可以标记aToggle/**@constructor*/-- 但它不是构造函数。是否有另一个注释可以用来消除此警告,或者我是在将其标记为构造函数还是出现一堆无用的警告之间陷入困境?

0 投票
2 回答
1321 浏览

javascript - 使用 Google Closure 定义配置对象的最佳方式

我喜欢 Google Closure 编译器如何优化代码中的符号。但是,我还没有找到一种好的方法来定义将配置对象作为参数的公共导出函数。考虑这个代码片段:

现在假设我们加载了这个脚本,并且想要调用 myFoo 如下:

如果编译,这将失败,因为 id 和 clazz 属性被压缩。

有谁知道使用 Google Closure 编译器实现和导出配置对象的优雅方式?

0 投票
2 回答
2991 浏览

javascript - 如何让闭包编译器在调用函数时停止抱怨联合类型?

我在使用 jQuery-1.4.3 externs 文件时特别看到了这一点。的javadocs读取

我有一个看起来像这样的电话:

闭包抱怨:警告 - jQueryObject.prototype.height 的实际参数 1 与找到的形式参数不匹配: (jQueryObject|null|number) required: (function (number, number): ?|number|string|undefined) $('# Xobni').height($(window).height());

通过玩弄(删除可能的返回类型),我可以看到问题是对宽度的第一次调用可能会返回一个 jQueryObject,并且由于这不是有效的输入,所以 Closure 给了我一个错误。我试着添加这个:

但随后闭包抱怨:警告 - 找到初始化变量:(jQueryObject|null|number) required: number var w = $(window).width();

问题是当宽度接受一个参数时,它返回一个 jQueryObject。当它不带参数时,它返回一个数字。所以我知道我的电话没问题,但 javadocs 并没有完全反映这一点,所以 Closure 警告我。有没有办法适当地修复 javadocs 或者告诉 Closure 我知道这个结果将是一个数字。我知道我可能可以抑制错误,但我想知道如何更好地注释这些东西。

谢谢您的帮助!