如何让Phoenix Live Reload忽略Emacs生成的临时文件?
解决Phoenix Live Reload忽略Emacs临时文件的问题
当然有办法解决这个麻烦!Emacs生成的.#开头临时文件触发Live Reload确实挺闹心的,咱们只需要调整Phoenix的Live Reload配置,让它自动忽略这类文件就行,步骤很简单:
定位Live Reload配置项
打开项目里的config/dev.exs文件,找到对应Endpoint的live_reload配置块——这是开发环境下Live Reload的核心配置区域。添加文件忽略规则
在live_reload配置里新增ignores选项,用正则表达式匹配Emacs临时文件的格式。你可以根据需求选两种匹配方式:- 精准匹配:只忽略
.#开头的文件,正则写~r"^\.#.*" - 宽泛匹配:忽略所有以
.开头的隐藏文件(适合同时排除其他编辑器的临时文件),正则写~r"^\..*"
修改后的配置示例如下:
config :your_app, YourAppWeb.Endpoint, # 其他原有配置项... live_reload: [ patterns: [ ~r"priv/static/.*(js|css|png|jpeg|jpg|gif|svg)$", ~r"priv/gettext/.*(po)$", ~r"lib/your_app_web/(live|views)/.*(ex)$", ~r"lib/your_app_web/templates/.*(eex|html)$" ], ignores: [ ~r"^\.#.*" # 精准忽略Emacs生成的.#开头临时文件 ] ]- 精准匹配:只忽略
重启Phoenix开发服务器
配置修改完成后,重启你的Phoenix开发服务器,新的忽略规则就会生效了——之后编辑文件时,Emacs的临时文件变化就不会再触发不必要的Live Reload了。
补充一句:Emacs的这类临时文件会在你关闭编辑缓冲区后自动删除,所以这个配置只是在编辑过程中避免无效的页面重载,完全不影响正常开发流程。
内容的提问来源于stack exchange,提问作者xji
相关产品推荐
相关产品推荐

