0

我正在尝试使用 Closure Templates 使 google Closure Library 正常工作,但是当我运行我的应用程序时它会引发错误soyutils_usegoog.js:74 Uncaught TypeError: Cannot read property 'StringBuffer' of undefined

我已经研究了所有内容,添加了 goog deps.js 文件,移动了一些东西,但是我仍然无法让它运行。所以我然后从CLosure网站复制了确切的例子来尝试找出它,它仍然给我同样的错误。我在这里尝试了第一个简单的例子:https ://developers.google.com/closure/templates/docs/helloworld_js

如果我goog.string.StringBuffer在控制台中查询它返回一个函数,它似乎是最后加载该文件。

4

1 回答 1

0

您的依赖项必须在执行脚本之前加载。通常,在使用调试加载器时,这是通过将入口点的 goog.require 作为脚本标记内容来完成的。base.js 的加载器将使用 deps.js 中的信息,并在初始化脚本标记之后添加适当的依赖项作为脚本标记。

如果您使用脚本标记直接加载模板,goog.reqire 的依赖项将在需要它的脚本之后加载,这听起来像是发生在您身上的事情(缺少详细信息,因此不清楚)

通常对于生产使用,您将使用 Closure Compiler 或其他感知工具构建一个包。

于 2016-02-08T02:43:11.760 回答