利用 Chokidar 在 Docker 容器内触发 tsx watch

问题描述 投票:0回答:1

我正在使用“tsx”从节点图像观看 Docker 容器内的打字稿文件。

问题是容器内文件的更改没有触发正在运行的“tsx”来重新启动服务器。

我正在尝试使用“Chokidar”库来帮助解决这个问题,但我实际上没有任何使用 Linux 系统的经验,我通常在 Windows 上工作,所以我真的需要帮助为“Chokidar”创建一个 shell 脚本以使其运行并观察容器内的服务器并触发“tsx”以重新启动服务器。

“.sh”文件:

#!/bin/bash
# What do I put here to make it work?

我不知道是否还有其他方法可以做到这一点,我被困在这里了!

node.js linux typescript docker sh
1个回答
0
投票

这是一种你会想嗯,问的人知道他们在做什么吗,因为你想做的事情看起来很奇怪。

您没有解释什么是“重新启动服务器”。如果您有一个运行 tsx 作为其主要入口点的容器,那么您无法杀死它并重新启动它,因为当它退出时,容器也退出。

你也没有解释为什么要使用chokidar。这是一个当节点事物想要观看事物时的库。但您需要一个 shell 脚本来监视事物。在这种情况下,您通常会在 Linux 中安装 inotify-tools 并使用 inotifywait 来观察某些变化,然后执行某些操作。这可能看起来像:

inotifywait -m -e modify /the/file/im/trying/to/monitor | 
   while read file_path file_event file_name; do 
       #do the thing you want done here
   done

但是你想在那里做什么,我不知道。

您最好告诉我们您为什么要尝试这样做以及如何解决它,因为您可能会走错路。

© www.soinside.com 2019 - 2024. All rights reserved.