从子模块访问主模板

胖乎乎的

我有一个Play2项目,其子模块和结构如下:

+ app
  + models
  + controllers
  + views
    + index.scala.html
    + main.scala.html
+ conf
+ modules
  + frontend
    + app
      + controllers
      + views
        + page.scala.html

我在build.sbt中启用的模块以及根模块和前端模块都可以正常工作,甚至两个模块中的控制器URL都可以在彼此之间反转。

但是我无法从中调用main.scala.html模板page.scala.html当我尝试照常(@main(title) { ...调用它时,出现编译错误:not found: value main主模板的正确路径是什么?

更新。我认为这应该是SBT解决的问题。我的build.sbt看起来像这样

name := """myproject"""

version := "1.0-SNAPSHOT"

lazy val frontend = (project in file("modules/frontend")).enablePlugins(PlayScala)

lazy val root = (project in file(".")).enablePlugins(PlayScala).aggregate(frontend).dependsOn(frontend)

scalaVersion := "2.11.4"

libraryDependencies ++= Seq(
  "org.postgresql" % "postgresql" % "9.3-1102-jdbc41",
  jdbc,
  anorm,
  cache,
  ws
)

pipelineStages := Seq(rjs, digest, gzip)
迈克斯名

子项目只能使用自己的资源,也可以使用子资源(通过依靠.dependsOn)。由于您的前端项目不依赖于根项目,因此无法使用其视图模板(子项目之间也不能具有循环依赖性)。

在这种情况下,唯一的解决方案是将视图main.scala.html模板移到前端模块中,或创建一个“公共”模块作为要使用的前端(以及可能的其他子项目)的基础依赖项。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章