我正在研究新项目的各种Web框架(社交网络+连接用户之间的交易)。我对Play(使用scala)很感兴趣,但在理解问题时需要一些帮助。
在Play中,核心不支持CDN +缩小,但是通过单独的模块greenscript。但是使用此模块需要使用基于绿色标记的新标记替换布局中的系统标记。这与Rails不同,在Rails中,您不必向布局添加任何内容,也可以通过附加act_as_ *标记来使用新插件来逃避。关于长期Play方法是否让插件接管覆盖标记的任何想法?在这种情况下,如果你想在同一个对象上运行几个模块,比如一个url,那么它可以在Play中运行吗?
任何有关在Play中实现此目标的替代方法的指导也会有所帮助。
答案 0 :(得分:2)
Play中的某些模块通过提供标记(在概念上类似于jsp标记,而不是在实现中)。 Greenscript就是其中之一。
它只需要您使用特定标记,并且在执行期间标记将展开到最小化功能中。
如果两个模块作用于同一个对象(比方说,一个锚点href跟随你的评论),兼容性将取决于这些标签的实现,而不是Play。如果其中一个标签在其正文中接受其他标签,则可以混合它们,否则将不允许这样做。
关于Greenscript,它提供了一种“无配置”模式,它可以自动最小化所有css / js文件,而不需要页面中的任何标记或任何配置(默认情况下它的工作方式如此)。这不会影响你的内联css / js,但可以通过将内联代码移动到自己的js / css文件来轻松解决。
答案 1 :(得分:0)
作为greenscript的作者,我想鼓励你使用greenscript标签而不是使用零配置模式b / c它使用大约10%的功率;-)
这个模块的美妙部分是它允许你在当前文件中声明你需要的js / css文件(这可能只是整个视图的一部分),并且无需担心是否有一个或多个这些文件已在其他地方声明。此外,一旦你在js / css文件中声明了依赖关系,你只需列出你直接使用的那个,而不必担心它的依赖关系。它们会自动加载。
可能那些最明显的使用标签的原因是它允许合并js / css文件,这样最终你只得到一个文件(除非你有CDN),而使用零配置模式你还有多个每个文件都被最小化/压缩。