如何部署 Play 框架应用并排除"public"目录下的特定资源?



我想部署一个Play 2应用程序,我的javascript和css文件在"public"目录中,我只想公开缩小后的javascript文件,并将源代码保密。我如何通过Play实现它?提前谢谢。

我只想公开缩小后的javascript文件,并将源代码保密。

这很容易。看看文件上写着:

应用程序/资产中存在的任何JavaScript文件都将由Google Closure编译器进行分析,检查是否存在错误和依赖项,如果在构建配置中激活,则会进行缩小。

因此,不将.js文件放在/public/javascripts/中,而是将它们放在/app/assets/javascripts/中,当构建应用程序时,将同时有一个.js文件和一个.min.js文件可用。

您也不必更改<script/>标签,只需保持原样即可:

<script src="@routes.Assets.at("javascripts/my-javascripts.js")" type="text/javascript"></script>

<script src="@routes.Assets.at("javascripts/my-javascripts.min.js")" type="text/javascript"></script>

如果希望允许访问.min.js文件,则可以使用regex:更新routes文件

GET  /assets/javascripts/$file<.*.min.js> controllers.Assets.at(path="/public/javascripts", file)

现在您可以寻址http://my.domain.com/assets/javascripts/my-javascript.min.js,但不能寻址http://my.domain.com/assets/javascripts/my-javascript.js

最新更新