【问题标题】:How to ignore directory with ruby guard for livereload?如何忽略带有 ruby​​ 保护的目录以进行 livereload?
【发布时间】:2018-05-09 22:10:36
【问题描述】:

我使用 Xcode 作为我的开发 IDE,为我正在处理的项目编辑一些网页和 css。为了启用实时重新加载功能,我使用了配置了 'livereload' 插件的 ruby​​ 'guard' 程序,它运行良好。

但是,Xcode 似乎将当前正在编辑的文件保存到与原始文件相同的目录中名为“(Xcode 保存的文档)”的临时目录中。当然,这是不断触发守卫脚本并重新加载浏览器。

我尝试了各种忽略选项,但似乎没有任何效果...这是我当前的保护文件...我可以添加或更改什么以使其忽略 Xcode 目录,无论它位于监视目录下的哪个位置?

guard 'livereload', grace_period: 0.5 do
  interactor :off

  directories %w(resources/img resources/devel)

  ignore %r{\(A\sDocument\sBeing\sSaved\sBy\sXcode\)}

  compiled_extensions = {
    css: :css,
    js: :js,
  }

  static_extensions = {
    html: :html,
    png: :png,
    gif: :gif,
    jpg: :jpg,
    jpeg: :jpeg,
  }

  compiled_exts = compiled_extensions.values.uniq
  watch(%r{.+\.(#{compiled_exts * '|'})$})

  static_exts = static_extensions.values.uniq
  watch(%r{.+\.(#{static_exts * '|'})$})
end

我认为当检测到文件被更改时,可能有一些方法可以运行一些 Ruby 代码,并且可能检查目录,然后如果忽略不起作用......但我从来没有用 Ruby 和它编写过代码让实时重新加载保护脚本首先工作已经够棘手了。

【问题讨论】:

    标签: ruby xcode guard livereload


    【解决方案1】:

    实际上,问题不在于guard,而在于Apple 的版本控制文件保存,我没有意识到它已为网络驱动器启用......其中版本控制功能不起作用。叹息。

    在终端中执行以下命令关闭了仅适用于 Xcode 的版本控制(内部称为持久性?)功能,这解决了我的问题:

    defaults write com.apple.dt.Xcode ApplePersistence -bool False

    我也不需要为我的源代码启用持久性,因为我已经使用了版本控制。

    我回答了我自己的问题,以防有人遇到同样的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-02
      • 2013-05-15
      • 1970-01-01
      • 2020-05-05
      • 1970-01-01
      • 1970-01-01
      • 2011-11-26
      • 2017-06-15
      相关资源
      最近更新 更多