资源管理设计的目标之一是在开发阶段不影响静态文件的开发管理,只有在发布的时候执行打包即可,打包完毕后清理临时文件,因此只会影响生成的二进制可执行文件,对开发者来说无感知且使用便捷。
建议大家使用GoFrame
官方提供的工程化目录结构,并且使用CLI
工具来创建自己的项目工程,因为整个框架工程化思想以及一些示例都是基于标准化的工程目录结构,这样更有利于大家学习和使用整个开发框架,提高开发效率。特别是,在工程目录中存在一个packed
目录,用以存放资源管理组件的相关打包内容,在默认情况下,里面是一个空的go文件,什么都不会做。
在开发阶段,一般来说,开发者并不需要关心资源管理的事情,该怎么撸码就怎么撸,静态的文件按照建议放到public
目录下。在开发阶段的静态文件访问都会直接通过文件系统访问。
当开发完毕后,想要将静态文件、模板文件、模板文件、配置文件打包到二进制可执行文件中,随着二进制可执行文件发布。好的,这个时候资源组件开始介入展示能力了。您需要配置到交叉编译的配置。我们需要使用到CLI
工具来执行可执行文件编译,将您的编译配置通过配置文件管理起来(放到config.yaml
文件中),一个参考的编译配置如下:
gfcli:
build:
name: "my-application"
arch: "amd64"
system: "linux"
mod: "none"
cgo: 0
pack: "config,i18n,public,template"
version: ""
output: "./bin"
extra: ""
请注意其中的pack
配置,表示我们在执行编译的时候自动打包到二进制可执行文件中的目录。随后,我们在项目根目录下执行编译命令:
gf build
该命令在编译时会自动将配置文件中指定的目录进行打包成临时的打包go文件,再执行编译,编译完毕后自动清理临时的打包go文件。
大部分场景下,配置文件可能不需要打包进二进制可执行文件,具体根据您的业务场景自行选择。
将二进制执行发布执行即可。
基本介绍支持并发安全开关选项的map容器,最常用的数据结构。该模块包含多个数据结构的map容器:HashMap、TreeMap和List...
基本介绍动态大小的并发安全队列。同时,gqueue也支持固定队列大小,固定队列大小时队列效率和标准库的channel无异。使...
约瑟夫问题我们使用ring来模拟一下约瑟夫问题:著名犹太历史学家Josephus有过以下的故事:在罗马人占领乔塔帕特后,39个犹太...
gcron与gtimer区别定时任务-gcron与定时器-gtimer区别:gtimer属于高性能模块,是框架核心模块,构建任何定时任务的基础,任...