fileboy v1.0 发布,文件变更监听通知系统

栏目: 软件资讯 · 发布时间: 5年前

内容简介:fileboy,文件变更监听通知系统,使用 Go 编写。适用于 Hot Reload (典型的如开发go项目,无需每次手动执行 go build;又比如前端 node 打包) 或者 系统监控的场景。 v1.0 更新日志: - 文件变更监听支持多平台...

fileboy,文件变更监听通知系统,使用 Go 编写。适用于 Hot Reload (典型的如开发 go 项目,无需每次手动执行 go build;又比如前端 node 打包) 或者 系统监控的场景。

v1.0 更新日志:

- 文件变更监听支持多平台 (windows/linux测试,mac未测试);

- 支持灵活配置监听 包含文件夹/排除文件夹/特定文件类型;

- 支持配置变更要运行命令,可以有多条,会依次执行;

- 支持 fileboy init 初始化配置,生成 filegirl.yaml 文件;

- 支持 fileboy exec 直接执行配置的 command 命令;

下载:windows-amd64   |   linux-amd64   |    darwin-amd64  

文档:Readme  

使用

fileboy 的正常运行依赖于 filegirl.yaml 配置,所以首次在项目中使用需要初始化 filegirl.yaml

  • 进入你想要 hot reload 的项目主目录下;

  • 运行 fileboy init,会在该目录下生成 filegirl.yaml文件;

  • 查看 filegirl.yaml,修改为适合自己项目的配置项;

  • 运行 fileboy即可.

    如果你定义了 commend -> exec命令,想事先确认是否能正常执行,可以运行 fileboy exec命令,系统会尝试运行你的自定义命令。

你可以使用 fileboy help查看使用帮助。

filegirl.yaml 配置文件说明

# 主配置
core:
    # 配置版本号
    version: 1

# 监控配置
monitor:
    # 要监听的目录
    # test1       监听当前目录下 test1 目录
    # test1/test2 监听当前目录下 test1/test2 目录
    # test1,*     监听当前目录下 test1 目录及其所有子目录(递归)
    # .,*         监听当前目录及其所有子目录(递归)
    includeDirs:
        - .,*

    # 不监听的目录
    # .idea   忽略.idea目录及其所有子目录的监听
    exceptDirs:
        - .idea
        - .git
        - .vscode

    # 监听文件的格式,此类文件更改会执行 commend 中的命令
    # .go   后缀为 .go 的文件更改,会执行 commend 中的命令
    # .*    所有的文件更改都会执行 commend 中的命令
    types:
        - .go

# 命令
command:
    # 监听的文件有更改会执行的命令
    # 可以有多条命令,会依次执行
    # 如有多条命令,每条命令都会等待上一条命令执行完毕后才会执行
    # 如遇交互式命令,允许外部获取输入
    exec:
        - go version
        - go env

QA

很多框架都自带了 hot reload 的功能,为什么还要单独写个 fileboy 呢?

这个是一款通用的 hot reload 的软件,理论上适用于任何需要 hot reload 的场景,并不局限于语言层面上。只要灵活的配置 filegirl.yaml文件就行了。

fileboy 可以应用在那些具体的场景?

在开发中,我们很需要一款可以帮助我们自动打包编译的工具,那 fileboy 就非常适合这样的场景。比如 go 项目的热编译,让我们可以边修改代码边运行得到反馈。又比如 PHP Swoole 框架,由于常驻进程的原因,无法更改代码立即reload,使用 fileboy 就可以辅助做到传统 PHP 开发的体验。

对于一些需要监控文件日志或者配置变动的场景, fileboy 同样适合。你可以事先编写好相应的通知报警脚本,然后定义filegirl.yaml中的commend命令,交由 fileboy 自动运行监控报警。

idea 下更改文件,为什么会执行两次或者多次 commend ?

由于 idea 系列软件特殊的文件保存策略,他会自动创建一些临时文件,并且在需要时多次重写文件,所以有时反映在文件上就是有多次的更改,所以会出现这种情况。这个后续会做优化.

filegirl.yaml 里面的 commend 不支持复杂的命令吗?

对于“很复杂的命令”这种说法很难去定义,比如 echo "hello world"并不复杂,但是对于 fileboy 来讲,目前无法解析这种命令。

fileboy 目前支持 命令 + 参数这种形式的 commend,而且 参数中不能有""符号或者有空格。如:

go build:支持;

go env:支持;

php swoole start --daemon:支持

cat a.txt | grep "q" | wc -l:不支持

对于不支持的命令,可以把它写到一个文件里,然后在 commend 中执行这个文件来解决。

为什么起名为 fileboy,又把配置名叫做 filegirl ?

因为爱情~~

听说有彩蛋?

(◡ᴗ◡✿)


【声明】文章转载自:开源中国社区 [http://www.oschina.net]


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

游戏开发的数学和物理

游戏开发的数学和物理

[ 日] 加藤洁 / 徐 谦 / 人民邮电出版社 / 59.00元

本书严格选取了游戏开发中最常用的数学和物理学知识,通过游戏开发实例,配上丰富的插图,以从易到难的顺序进行讲解。第1章到第5章分别讲解了物体的运动、卷动、碰撞检测、光线的制作、画面切换的细分处理。这五章将2D游戏必需的知识一网打尽,同时还严格挑选了少量3D游戏编程的基础内容以供参考。第6章系统梳理了游戏开发的数学和物理学理论,帮助读者更好地理解前五章的内容。 本书适合网络和手机游戏开发者阅读。一起来看看 《游戏开发的数学和物理》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具