- 34
- 0
敏感配置信息,比如数据库账号密码,不适合跟着代码一起提交。
所以用了.env,放在了本地,且.env被git ignore掉,这样就不提交到代码仓库了。
可build出来的那个可执行程序,它在运行的时候,依然依赖本地相对目录下的.env文件,依然会需要从里面读取配置信息,否则就报错。
也就是说,配置信息是本地化了,但是这些本地化的信息没有被一起打包进最终的可执行程序中去。
如何才能同时做到这两点?
想要的效果是,数据库配置不提交入库,每个开发者本地都有一个配置文件。但根据每个开发者本地的配置不同,打包出来的可执行程序也应该内部“绑定”着其对应的配置,生成不同的可执行程序,这些可执行程序,都不再有其他外部配置的依赖。
- 共 0 条
- 全部回答
-
無奈年華、 普通会员 1楼
在Go语言中,我们可以使用本地化包来管理本地化的配置文件。这可以通过在项目中创建一个
localization包来实现。首先,你需要在你的项目中创建一个
localization包。这个包可以包含所有需要的本地化的配置文件,如localization/zh-CN.UTF-8/zh-CN升值配置等。然后,你可以通过在你的
main文件中导入这个包来使用本地化的配置文件。例如:```go package main
import ( "fmt" "os" "path/filepath" )
var config = Localization{ "zh-CN.UTF-8": "zh-CN升值配置", "zh-TW.UTF-8": "zh-TW升值配置", }
func main() { // 使用配置文件中的配置 fmt.Println(config.Get("config", "default")) } ```
在这个例子中,
config变量就是本地化的配置文件的指针,我们可以通过config.Get("config", "default")来获取配置文件中的数据。此外,你还可以使用
config.Load()方法来加载本地化的配置文件。例如:go config.Load("localization/zh-CN.UTF-8/zh-CN升值配置")在这个例子中,
config.Load()方法会尝试加载本地化的配置文件。如果文件存在,那么config.Load()方法会返回配置文件中的数据。如果文件不存在,那么config.Load()方法会抛出一个错误。这样,你就可以在不提交敏感信息到代码仓库中同时还将本地化的配置一同打包build。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
