首页 > 解决方案 > 如何使用 watchman 从父文件夹的子文件夹中观看内容?

问题描述

我正在通过观看文件来开发图像上传器。图像包含在一个文件夹(子文件夹)中,并且该文件夹被复制到正在观看的父文件夹中。

例子:

~/parent/subfolder1/image1.png
~/parent/subfolder2/image2.png

如何使用传递给 watchman 的父文件夹参数观看这些图像?或如何包含子文件夹?

这就是我现在所拥有的:

export PARENT_FOLDER = ~/parent/
export UPLOADER_SCRIPT = ~/upload_image.sh
watchman -- trigger $PARENT_FOLDER upload_image -- $UPLOADER_SCRIPT

里面upload_image.sh只是一个上传函数,以图像文件路径为参数

python upload.py image1.png

标签: watchman

解决方案


使用扩展语法: http: //facebook.github.io/watchman/docs/trigger#extended-syntax,以便您可以定义更丰富的匹配表达式。例如,这将匹配.png使用 glob 表达式的任何文件,但您可以使用任何表达式术语来精确地确定您需要的范围:

$ watchman -j <<-EOT
["trigger", "/path/to/parent", {
  "name": "upload_image",
  "expression": ["match", "**/*.png"],
  "command": ["/path/to/upload_image.sh"]
}]
EOT

您可能还想看看anyof作为组合多个标准的一种方式。


推荐阅读