热加载
修改项目文件保存后, gitbook serve 不支持热加载 当你修改 Gitbook 项目保存后, serve 重启的时提示无法使用 mkdir 操作, 以至于不能达到重启的目的 那么你需要进行以下操作:
找到你下载的
gitbook版本文件夹: 一般位于Users\当前用户\.gitbook\versions\下会有对应版本号的文件夹名称在对应版本文件夹内找到
lib\cli\serve.js文件复制以下代码放置
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 文件夹 ``
最后更新于
这有帮助吗?