Javascript 谷歌关闭:goog.require in Play 2.2.1

Javascript 谷歌关闭:goog.require in Play 2.2.1,javascript,playframework-2.0,google-closure-compiler,Javascript,Playframework 2.0,Google Closure Compiler,我一直在使用PlayV2.2.1开始一个新的Play项目,我很难让Google闭包编译器正确处理goog.provide和goog.require语句。我的所有Javascript文件都在app/assets文件夹中,并使用Play的反向路由正确提供。但是,每当我尝试使用goog.require(_namespace),我都会遇到编译错误“required namespace not provided”。无论我是在视图模板中链接到带有require的文件还是required和providing.

我一直在使用PlayV2.2.1开始一个新的Play项目,我很难让Google闭包编译器正确处理goog.provide和goog.require语句。我的所有Javascript文件都在app/assets文件夹中,并使用Play的反向路由正确提供。但是,每当我尝试使用
goog.require(_namespace)
,我都会遇到编译错误“required namespace not provided”。无论我是在视图模板中链接到带有require的文件还是required和providing.js文件,都会发生这种情况。但是,如果我链接到所需文件的缩小版本,则不会发生这种情况

在大多数情况下,闭包编译器似乎正在工作;例如,.min.js文件确实存在(即使它们实际上似乎没有缩小,但这可能是另一个问题)。我没有更改我的Play项目中的任何生成设置

对于Javascript依赖项,for Play 2.2.x没有直接引用使用
goog.require()
goog.provide()
。然而,它确实提供了一个使用RequireJS来完成这项工作的链接。没有办法利用闭包编译器的require系统吗


作为免责声明,我对闭包编译器不是很有经验。我在工作中使用过它,我们将所有Javascript缩小为一个文件,所以我所知道的基本上就是我希望看到的结果。我希望Play能处理大部分的脏活,让一切“正常运转”,但这似乎不像我希望的那么简单,在浏览了几个小时之后,我还没有成功地解决这个问题。

有一个plovr插件,Benn McCann根据我很久以前在play邮件列表上发布的一些东西制作的,我记得就是因为这个问题而创建的,也许你可以用这个:

这看起来很有希望。我以前没有听说过Plovr,但它听起来像是一个有用的工具。我会试试这个插件。然而,我仍然希望找到一个解决方案,使用just Play 2.2的闭包支持,而不必担心任何插件。