我正在学习谷歌关闭,当我尝试使用goog.ui
组件(任何类)时,我收到错误goog.require could not find: goog.ui
。
我的代码是:
goog.require('goog.dom');
goog.require('goog.json');
goog.require('goog.events');
goog.require('goog.ui.HoverCard');
goog.require('goog.positioning.AnchoredPosition');
goog.require('goog.positioning.Corner');
goog.require('goog.ui.Component.EventType');
goog.require('goog.ui');
其他组件(至少在我尝试加载任何ui元素之前)工作正常。
有关这可能是什么的任何建议?我两天前从git克隆了这个版本。我没有编译,因为在这个阶段我只想弄清楚如何编写代码。
答案 0 :(得分:4)
您可以对之前由goog.require()
提供的元素使用goog.provide()
。
goog.ui
,因为它不是可以直接使用“静态”方法的组件或其他东西(例如,与goog.events
方法相反的listen()
)。
它只是重新组合所有可视组件的命名约定。
但是,您可以执行goog.require('goog.ui.Component')
或goog.require('goog.ui.Button')
。
答案 1 :(得分:0)
我能够通过以下方式消除这种情况:
直接从google的git存储库加载base.js
文件:http://closure-library.googlecode.com/git/closure/goog/base.js
;
消除从任何子组件中分别要求'goog.ui'
的企图;和
将require
调用直接移到HTML头部(在脚本标记内),而不是将它们放在头部加载的脚本中。
这似乎并不完全令人满意。