【问题标题】:Copy html files to vendor folder将 html 文件复制到供应商文件夹
【发布时间】:2019-06-15 04:51:13
【问题描述】:

用例: 我有 Proj A 和 Proj B。Proj B 依赖于 Proj A。我使用 Go Modules 进行依赖管理,使用 go mod vendor 生成供应商文件夹。 Proj A 在 Proj B 的 vendor 文件夹中。

问题: 在 Proj A 中,我有一个 HTML 文件。 HTML 文件不会复制到供应商文件夹。

如何强制将 HTML 文件复制到供应商文件夹,以便在 Proj B 中使用?

【问题讨论】:

  • 供应商通常用于导入由 Go 代码组成的库。尝试提供 HTML 文件是一个非常不寻常的用例,看起来像是一个 XY 问题。你能更详细地描述你的用例吗?在这里可能有更好的方法来实现您的目标。
  • 我有一个由多个项目继承的公共项目。它有一些通用的 html 模板,适用于它所有的依赖项目。
  • 将 HTML 文件放在 /vendor 中是毫无用处的,因为没有有用的方法来引用该文件。您可能应该定义一个 Go 变量来保存 HTML 字符串。 var HTML = []byte(`<html>...</html>`)
  • 或者可能使用子模块或类似的东西。 Go 库用于导入 Go 代码。

标签: go go-modules


【解决方案1】:

解决此问题的方法是在 html 文件夹中创建一个虚拟 go 文件和 go 函数,并在代码中的某处调用该虚拟函数。这使得go mod vendor 将文件夹复制到供应商文件夹。不是更干净的方式,直到 Go mod 在 deps 中添加类似 non-go=true 的选项。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-17
    • 1970-01-01
    相关资源
    最近更新 更多