Я разрабатываю библиотеку, которая содержит файл ресурсов, в частности шаблон электронной почты. Файл находится на <project_root>/templates/email.html
.Распределение ресурсов с помощью golang
Мне очень сложно ссылаться на этот файл из источников .go
, так как трудно решить относительный путь. До сих пор варианта, которые я нашел являются:
использование
$GOPATH
: это приходит с проблемой, что некоторые managemente зависимости инструментов могут переопределить$GOPATH
и сломатьиспользовать переменный пользовательских ENV: работает, но он заставляет пользователь lib для добавления переменной.
встроенный шаблон на строку: это уродливо.
У кого-нибудь есть лучшая альтернатива? Я бы предпочел не использовать сторонние библиотеки только для этого, но если вы знаете, что не стесняйтесь указать на это, чтобы я мог прочитать источники и посмотреть, как они это делают.
Благодаря
Рассмотрим вложение файла шаблона электронной почты непосредственно в двоичном виде: см [github.com/jteeuwen/go-bindata](https://github.com/jteeuwen/go-bindata) – Mark
встраивание ресурсов ИМХО лучший способ пойти, когда вы разрабатываете библиотеку Go. Таким образом, ресурсы полностью прозрачны. Вставка шаблона в двоичный файл будет напрямую влиять на тех, кто использует вашу библиотеку, и ее необходимо скомпилировать. – jnmoal