hexo 本地启动项目 hexo-browsersync 不工作原因总结
问题 1 : hexo-server 开启 compress 压缩后 hexo-browsersync 插件热更新完全无效,没办法自动刷新
此问题表现在 hexo 任何版本
问题原因:
hexo-server 依赖 compression^1.7.4 会自动安装 compression@1.8.0,压缩后 Content-Encoding 不是 gzip 而是 br, hexo-browsersync 无法解析 br 压缩内容,从而导致自动刷新失效。
解决办法:
方法1. 关闭 compress 压缩,但是关闭后会出现长内容被截断,要处理长内容截断,只能把 hexo-browsersync 插件移除或者开启 compress 压缩。
方法2. 手动将 compression@1.8.0 依赖的 negotiator@0.6.4 内容 node_modules/compression/node_modules/negotiator/index.js 替换为 0.6.3 版本, 0.6.3 版本内容可以在 https://npmmirror.com/package/negotiator/files/index.js?version=0.6.3 查看。
方法3. package-lock.json 文件中将 hexo-server 依赖的 "compression": "^1.7.4", 改为 "compression": "1.7.4", 让其强制安装 compression@1.7.4 版本,并且删除已保存的 compression 1.8.0 json 段落,然后删除 node_modules 重新运行 npm install 安装依赖即可。
问题 2 : hexo-server 偶尔内容空白和内容截断,导致 hexo-browsersync 插件热更新失败
此问题表现在 hexo 版本: v4.2.0
问题原因:
hexo-server 返回的 Content-Length 是错的, 比实际内容短,导致浏览器截断内容。
解决办法:
hexo-server 的 配置文档 有一项 compress 配置,一般服务器对内容压缩都会使用流式压缩,即不会使用 Content-Length 预设页面的长度。经测试,可解决该问题,解决方法:根目录配置文件 _config.yml 添加如下代码:
# hexo-server配置
server:
# 此配置解决偶尔实时刷新无效和长文章被截断问题
compress: true
注意:hexo 不同版本可能配置字段名不一样!
问题 3 : hexo-server 保存文章时候内容空白问题
此问题表现在 hexo 版本: v4.2.0
问题原因:
刷新过快,导致文件编译未完成,没有内容响应。
解决办法:
node_modules/hexo/lib/box/index.js 246 行:
watcher.on('change', path => {
this._processFile(File.TYPE_UPDATE, getPath(path));
});
改为
let timer = null;
watcher.on('change', path => {
clearTimeout(timer);
timer = setTimeout(() => {
this._processFile(File.TYPE_UPDATE, getPath(path));
}, 60);
});
如果设置 60 毫秒后还有问题,可以将 60 再改大一点。
此处加上的 setTimeout 还有一个好处,可以节流,短时间内多次保存当做一次处理。
hexo 本地启动项目 hexo-browsersync 不工作原因总结的更多相关文章
- 本地启动项目后cookie跨域获取不到的处理方式
问题现象 最近在做Vue项目,很多时候调试代码需要本地访问localhost来进行,然而请求接口是通过代理实现的,那么就会存在一种情况是:代理域名下种植的cookie,在localhost域名下访 ...
- VS2013启动项目调试的时候会启动本地IIS
VS2013启动项目调试的时候会启动本地IIS ,而在这种状态下去调试程序,会有很多功能用不了,而且还会有错误:如下图: 解决方法,将托管管道模式更改一下就行了:
- 怎样将本地web项目部署到腾讯云服务器上?
怎样将本地web项目部署到腾讯云服务器上? 1.本地计算机的工作: (1).用eclipse新建一个web项目,然后在webcontent下新建一个index.html,然后在本地部署到Tomcat服 ...
- Hexo | 超详细的hexo+githhub page搭建过程
首先安装node.js 安装git 去Git官网根据你的电脑参数,下载对应版本. 下载完成,通过在命令行输入 git version 查看是否安装成功,有输出版本号说明安装成功. 鼠标邮件菜单里就多了 ...
- 利用Maven管理工程项目本地启动报错及解决方案
目前利用Maven工具来构建自己的项目已比较常见.今天主要不是介绍Maven工具,而是当你本地启动这样的服务时,如果遇到报错,该如何解决?下面只是参考的解决方案,具体的解法还是得看log的信息. 1. ...
- IntelliJ IDEA通过Tomcat启动项目过程分析
Tomcat部署项目的多种方式 Tomcat安装目录:${TOMCAT_HOME} 1.常规的webapps下直接部署到${TOMCAT_HOME}/webapps下 2.利用控制台进行部署 3.外部 ...
- 使用gradle命令代替CUBA Studio,启动项目
在cuba platform开发中,一开始都会使用CUBA Studio,这是一个脚手架,可以很方便的创建数据表.视图.Bean等.但是有时也会有奇怪的问题,比如不能读取本地maven 仓库,只读取远 ...
- Eclipse启动项目正常,放到tomcat下单独启动就报错的 一例
一个老的ssh的项目,进行二次开发(增加一些新功能)后, 首先用Eclipse中集成的Tomcat启动没有任何问题,但是把启动后的webapps下得目录放到 windows的普通tomcat下单独启动 ...
- TortoiseGit学习系列之TortoiseGit基本操作将提交到本地的项目推送到在线仓库(图文详解)
前面博客 TortoiseGit学习系列之TortoiseGit基本操作克隆项目(图文详解) TortoiseGit学习系列之TortoiseGit基本操作修改提交项目(图文详解) TortoiseG ...
- eclipse启动项目
今天做的任务不多,没有自己写代码,上午看了些文章,下午我司后台给配了配项目环境,全装C盘了..以后有我好受的.. 看着后台操作,修改了N多配置,tomcat.redis.zkServer..Nginx ...
随机推荐
- SQL语句报com.alibaba.druid.sql.parser.ParserException: TODO IDENTIFIER cross
这个错误根据网络上人员说是解析出错!虽然报错但不影响结果!但是报错了就是看的不爽!把druid包换成druid-1.0.9.jar就解决这个问题了!至于性能暂时还没测试到
- PHP API接口数据简单快速的加密解密
php7.0版本以上不支持mcrypt_encryp函数进行加密的代码,加密方式改为openssl_encrypt 用自己私人的服务器来测试吧,99买阿里云 openssl_系列支持php5.3以上版 ...
- Qt编写的项目作品10-本地摄像头综合应用示例
一.功能特点 同时支持 QCamera.ffmpeg.v4l2 三种内核解析本地摄像头. 提供函数 findCamera 自动搜索环境中的所有本地摄像头设备,搜索结果信号发出. 支持自动搜索和指定设备 ...
- Qt编写的项目作品7-视频监控系统
一.功能特点 (一)软件模块 视频监控模块,各种停靠小窗体子模块,包括设备列表.图文警情.窗口信息.云台控制.预置位.巡航设置.设备控制.悬浮地图.网页浏览等. 视频回放模块,包括本地回放.远程回放. ...
- CSP-J2/S2 2024 游记
前情提要:CSP-J/S 2023 写这篇文章的时候,心情比较复杂. 哎,结局还算圆满. 初赛 之前那个写的不好再写一遍() 两个都在 WFLS,也就是本校考 qaq. J 在大礼堂考,没啥好说的,太 ...
- IDEA中基于SSM框架进行web开发部署项目到Tomcat时报错:Error:Cannot build artifact '******:war exploded' because it is included into a circular depency的解决办法
在Idea中使用Maven创建父子工程,第一个Model的那个项目可以很好的运行,在创建一个Model运行时报这个错.原因是tomcat部署了多个Web项目,可能最开始是两个项目的配置文件混用用,最后 ...
- 不为人知的网络编程(十一):从底层入手,深度分析TCP连接耗时的秘密
本文作者张彦飞,原题"聊聊TCP连接耗时的那些事儿",有少许改动. 1.引言 对于基于互联网的通信应用(比如IM聊天.推送系统),数据传递时使用TCP协议相对较多.这是因为在TCP ...
- Hugo 静态博客部署
I. 前提条件 1.1 安装 Hugo 1.1.1 Windows 1.下载 Hugo(建议下载扩展版):Hugo(github.com) 2.解压 Hugo 压缩包到指定目录. 3.[Win + R ...
- elasticsearch数据导出和导入
数据导入和导出依赖于命令 elasticdump 数据导出 #!/bin/bash ES=http://ip:port ED=数据保存位置 datename=$(date +%Y-%m-%d) #da ...
- linux下服务器稳定性压力测试工具stress安装使用介绍
linux下服务器稳定性压⼒测试⼯具stress安装使⽤介绍 一.简介 1.stress⼯具是Linux下一款压⼒测试⼯具, 可以模拟系统⾼负载运⾏ , 同时可协助我们进⾏软件稳 定性相关测试. ⼆. ...