glitch.com平台watch.json配置不生效,编辑JS/CSS仍自动重载如何解决
Glitch平台watch.json配置不生效问题排查
用户在Glitch平台配置watch.json文件,需求为修改JS、CSS等文件时不自动重载浏览器页面,或是配置50秒节流延迟后再重载,使用的配置如下:
{ "install": { "include": [ "^package\\.json$", "^\\.env$" ] }, "restart": { "exclude": [ "^public/", "^dist/", "\\.js$", "\\.md$", "\\.html$", "\\.css$" ], "include": [ "\\watch.json" ] }, "throttle": 50000 }
修改配置后仍然会在JS、CSS文件变更时立刻触发页面重载,可能的原因如下:
- 配置文件存放路径错误:watch.json必须放在项目根目录下,存放在任意子目录下都会导致配置不生效。
- 正则规则书写错误:restart.include中配置的
\\watch.json存在转义错误,正确写法应为^watch\\.json$,错误的正则会导致匹配逻辑混乱,抵消exclude的排除规则效力。 - 静态资源热重载逻辑独立:当前配置仅限制了服务端进程的重启规则,Glitch针对public等静态资源目录的文件变更,默认会单独触发浏览器热重载,该逻辑不受restart配置控制,需要额外添加
"static": { "exclude": ["*"] }配置项,才能禁用静态资源变更触发的自动重载。 - throttle参数作用范围不匹配:throttle配置仅作用于服务端进程重启的节流逻辑,不作用于静态资源的浏览器热重载,未禁用静态资源自动刷新时,该参数不会生效。
- 配置未生效:修改watch.json后需要手动重启项目,才能让新的配置规则加载生效,未手动重启时会沿用之前的旧配置。
内容的提问来源于stack exchange,提问作者Kokodoko
相关产品推荐
相关产品推荐

