2

我试图弄清楚集成我的 AngularJS 和 Play 框架项目的最佳方式是什么,以便将它们分别打包为前端和后端。

我发现这篇博客文章谈论的是完全相同的问题,但我的略有不同,因为我使用的是 Play 框架 1.2.5 而不是 2.0,因此我无法控制资产文件夹:

GET /assets/*file controllers.Assets.at(path="/public", file)

没有明显/有效的区别,因为这家伙暴露了很多不属于他的应用程序的文件,/public 下的文件与 javascripts/、images/ 和 stylesheets/ 不同。这就是我想要避免的,在生产中公开这些文件或者在部署到生产之前必须删除它们。

值得一提的是,与javascripts/、images/和stylesheets/不同的/public下的文件是AngularJS文件/文件夹,主要与测试相关。AngularJS 在内部使用 Jasmine 进行测试(这是我读过的),因此这些文件是伪装成 AngularJS 文件的 Jasmine 文件。

4

1 回答 1

1

自从我使用 Play 1.2.x 以来已经有一段时间了,但是您应该能够通过条件在路线文件中将它们从生产中隐藏。就像是:

%{ if(Play.isProd() }%

    GET     /your-path-#1            404
    GET     /your-path-#2            404

%{ } else { }%
    GET     /your-path-#1            real path to file
%{ } }%

请注意,语法可能是错误的,已经很长时间了,但这就是想法:)

于 2012-09-03T10:41:38.970 回答