Google Closure:Play 2.2.1中的goog.require

时间:2013-12-23 01:37:47

标签: javascript playframework-2.0 google-closure-compiler

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

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

Play 2.2.x的Play documentation on using the Google Closure compiler没有使用goog.require()goog.provide()直接引用Javascript依赖项。但是,它确实提供了使用RequireJS来完成工作的链接。有没有办法利用Closure编译器的require系统?

作为免责声明,我对Closure编译器不太熟悉。我已经在工作中使用它,我们将所有Javascript简化为一个文件,所以我所知道的基本上是我期望看到的结果。我希望Play能够处理大部分使一切“正常工作”的肮脏工作,但这似乎并不像我希望的那样简单,几个小时后我没有成功解决问题淘网。

1 个答案:

答案 0 :(得分:2)

Benn McCann根据我很久以前在游戏邮件列表上发布的一些内容做了一个plovr插件,根据我记得因为这个确切的问题而创建的,也许你可以使用它:{{3 }}