使用--blank flag初始化的Jekyll项目LiveReload无法工作
Jekyll LiveReload 不自动刷新问题(空白项目初始化导致)
问题现象
- 使用 Ruby 3.3.0 + Jekyll 4.4.3 环境,通过
jekyll new project --blank创建空白项目 - 执行
bundle exec jekyll serve --livereload启动本地服务器,日志正常输出LiveReload address: http://127.0.0.1:35729 - 修改模板、样式或内容文件后,页面完全不自动刷新,且无任何报错信息
- 未使用
--blank参数创建的常规Jekyll项目,LiveReload功能可正常工作
原因推测
空白项目初始化时,默认缺少LiveReload正常运行所需的配置项、基础文件或依赖注入逻辑,导致Jekyll无法正确监听文件变更并触发页面刷新。
临时解决方案
- 添加基础配置:在项目根目录新建或编辑
_config.yml,加入以下配置:livereload: true watch: true - 确保存在可监听的内容文件:在项目中创建至少一个内容文件(如
index.md或index.html),避免Jekyll因目录结构过于空泛而不启动监听 - 手动注入LiveReload脚本:在页面模板的底部添加LiveReload脚本引用:
<script src="http://127.0.0.1:35729/livereload.js"></script> - 同步常规项目配置:将非空白Jekyll项目中的
Gemfile、_config.yml等配置文件内容同步到当前空白项目,执行bundle install后重新启动服务器
内容的提问来源于stack exchange,提问作者Ruff9
相关产品推荐
相关产品推荐

