【问题标题】:How can I share files (HTML templates) between App Engine modules?如何在 App Engine 模块之间共享文件(HTML 模板)?
【发布时间】:2015-10-12 18:45:02
【问题描述】:

我正在使用 Google App Engine 的 Go 运行时并且有两个模块。我想在他们之间共享 HTML 模板,但不是最好的方式。

我的模块组织如下:

src/github.com/myproject/moduleone/app.yaml
src/github.com/myproject/moduleone/templates/base.html
src/github.com/myproject/moduleone/templates/homeone.html

src/github.com/myproject/moduletwo/app.yaml
src/github.com/myproject/moduletwo/templates/base.html
src/github.com/myproject/moduletwo/templates/hometwo.html

在我的情况下,base.htmlmoduleonemoduletwo 相同。如何在两个模块之间共享它而不必像现在这样复制文件?

我想将base.html 放在名为src/github.com/myproject/templates 的目录中,但我相信moduleonemoduletwo 都无法访问该文件,因为它不在模块@987654329 的同一目录或子目录中@ 文件。我唯一的选择是在每个模块的模板目录之间符号链接base.html 文件吗?

【问题讨论】:

    标签: google-app-engine go


    【解决方案1】:

    GAE 将每个模块视为一个独立的应用程序(每个模块都将在其自己的 GAE 实例中运行)。模块之间在 GAE 级别不会共享可上传的工件,每个此类工件都需要在使用它的每个模块中单独上传。

    虽然其他方法在技术上是可行的(如其他方法所述),但对文件进行符号链接是恕我直言,避免在您自己的存储库中重复代码的最简单解决方案。

    【讨论】:

    • 当然总是可以选择将文件放入Cloud Storage
    • 按照@AlistairB 的建议将文件复制为构建脚本的一部分也可以。
    • @Nick,是的,但这在版本控制文件(技术上是应用程序代码的一部分)方面效果不佳
    【解决方案2】:

    您可以将模板复制到每个模块作为构建步骤的一部分,然后 gitignore 复制的文件。

    【讨论】:

      猜你喜欢
      • 2016-03-21
      • 2016-05-04
      • 1970-01-01
      • 2016-04-20
      • 2015-02-27
      • 2014-09-08
      • 2011-06-02
      • 2010-12-04
      • 1970-01-01
      相关资源
      最近更新 更多