如何在本地开发时忽略某些文件夹中的更改?

Nel*_*nim 15 google-app-engine

我正在使用Go SDK for the Google App Engine(它使用Python SDK的某些部分并dev_appserver.py在运行时调用goapp serve).默认情况下,它似乎会监视所有文件和文件夹的更改.我在静态文件夹中有一堆bower依赖项,并且SDK抱怨它无法查看那么多文件.

如何设置开发服务器以忽略文件夹中的更改?

编辑.阅读devappserver2/watcher_common.py,它似乎忽略了以...开头的目录..我想在最糟糕的情况下,我可以在文件夹前加上.,但这是一个黑客攻击.应该有一个配置选项,我似乎无法找到它.

Nic*_*las 2

您是正确的,当前没有命令行或配置选项来指定观察程序要忽略的文件/目录。

。(点)黑客

正如您所发现的,以 开头的文件和目录.将被忽略。对于许多 *nix 系统来说,这是一个相当标准的约定。然而,对于具有许多本地依赖项的 python 项目来说,它并不是真正可扩展的。

修改观察者文件

您可以修改此文件,但这也是不利的,因为它会导致非常脆弱的更改,并且如果更新覆盖该文件,则很容易损坏。

除了上述解决方法之外,没有办法实现这一目标。我也没有看到App Engine 发行说明中提到过这一点。然而,公共问题跟踪器上有一个开放的功能请求,要求观察器忽略skip_filesyaml 指令指定的文件。请随意对该问题加注星标以获取有关其进展的更新。

编辑:2017 年 1 月 4 日

国家PM 3

对于遇到此限制的 NPM 用户,您可能会发现使用 NPM v3 很有帮助,因为它以不同的方式解决依赖关系

npm3 通过以扁平的方式在与需要它的主要依赖项相同的目录中安装一些次要依赖项(依赖项的依赖项)来尝试此[减轻深层树和冗余]。

这对于遇到文件监视限制的 Node 用户来说非常有效。

弗兰肯服务器

Khan Academy 开发了一个名为Frankenserver的 App Engine 开发服务器分支。虽然我自己没有探索过这个选项,但似乎有相当多的支持和最近的更新。从它的自述文件来看:

Frankenserver 相对于普通 SDK 的最大优势在于它如何监视应用程序中文件的更改。它通过 1) 在 Mac OS X 上使用基于 FSEvents 的本机文件观察器和 2) 尊重 app.yaml 中的skip_files 指令来更有效地完成此操作。

尽管这不是 Google 的官方解决方案,但如果此限制严重影响您,那么暂时它可能是一个值得的解决方法。