Blueprint
good practise for an app written with cmdr
Blueprint
blueprint
app 展示了我们推荐的一种项目组织方法。源代码可以在 hedzr/cmdr-tests
的 这里 找到。
cmdr-tests
中的 blueprint
具有完整的应用程序基础能力。
除了集成了 Store
提供的完整的配置数据管理功能之外,也包含了自动装载配置源的功能。
此外,blueprint
在所有的方面都具备基本的支持。
所以从这里开始,你可以立即投入功能性开发。
如何开始
在有了 blueprint 的基础架构之后,你可以添加子命令。
例如我们想要增加一个 hello
子命令,那么首先可以在 cmd/ 文件夹中增加一个 hello.go 源文件,内容如下:
然后将 helloCmd{}
实例加入 cmd/all.go
的 Commands
中:
现在 hello 子命令就添加就绪了,运行显示帮助屏将会得到下面的结果:
和 devmode
一起工作
blueprint
集成了 devmode.go
来打包初始化用于开发模式的一系列状态环境:
- debugMode, traceMode and levels of them
- 状态同步的 logging 设置:是否允许
logz.Debug()
输出(以及logz.Trace()
) - 自动检测
.devmode
文件是否存在并切入DevMode
这是通过
来达成的。
该调用在初始化时刻引用 devmode 包中的 init func 来完成环境检测和状态初始化。
配置文件
cmdr-loader 已经装配好了所有有关的基本工作,所以这样开始:
- 在工作目录下新建
blueprint.toml
填写如下内容 - 运行
./bin/blueprint ~~debug
查看和找到app.zoo.canel.grouped
表项以证实配置文件正确装载。 - 证实
./ci/etc/blueprint/
的配置项已经被加载。
最后,在部署 app 时,将 ./ci/etc/blueprint/
部署到 /etc/blueprint/
,而将 ./blueprint.toml
和 bin/blueprint
可执行文件放在一起。
::: tip
windows
将 ./ci/etc/blueprint/
部署到 /etc/blueprint/
?
macOS
将 ./ci/etc/blueprint/
部署到 /usr/local/etc/blueprint/
或者 /opt/homebrew/etc/blueprint
或者 $HOME/.config/blueprint
都是可以的。
:::
:end:
How is this guide?
Last updated on