修改项目文件保存后, gitbook serve
不支持热加载 当你修改 Gitbook 项目保存后, serve 重启的时提示无法使用 mkdir 操作, 以至于不能达到重启的目的 那么你需要进行以下操作:
找到你下载的gitbook
版本文件夹: 一般位于Users\当前用户\.gitbook\versions\
下会有对应版本号的文件夹名称
在对应版本文件夹内找到lib\cli\serve.js
文件
复制以下代码放置
文件中
/* 代码首行 */
const fs=require("fs");
/* 任意空白位置 */
function deleteFolder(path) {
let files = [];
if( fs.existsSync(path) ) {
files = fs.readdirSync(path);
files.forEach(function(file,index){
let curPath = path + "/" + file;
if(fs.statSync(curPath).isDirectory()) {
deleteFolder(curPath);
} else {
fs.unlinkSync(curPath);
}
});
fs.rmdirSync(path);
}
}
复制代码
在serve.js
找到函数体generateBook
在函数内
var outputFolder = getOutputFolder(args);
后另起一行写入以下代码
if (server.isRunning()) deleteFolder(outputFolder)
复制代码
保存退出, 重启gitbook, 发现热加载生效了
注意: 当你停止服务的时候, 若服务没有自动删除 _book 文件夹时, 你需要手动删除 _book 文件夹 ``