gitbook3.2.3版本在编译时会出现两个bug.
错误1:编译失败Error: ENOENT: no such file or directory
这个bug是在文件夹复制时发生的错误,在路径C:\Users\当前用户名\.gitbook\versions\3.2.3\lib\output\website\copyPluginAssets.js中,修改confirm: true为confirm: false
此操作后没有在遇到过这个问题,直接手动改也可以,但如果很多计算机都要装gitbook就很麻烦了。
这里使用powershell来写脚本
$fp = $env:USERPROFILE+"\.gitbook\versions\3.2.3\lib\output\website\copyPluginAssets.js" if(-not (Test-Path -Path $fp)){ Write-Host "文件不存在,修复失败,按Enter键继续" Read-Host | Out-Null Exit } $fileData = Get-Content -Encoding UTF8 $fp $fileData = $fileData.Replace("confirm: true" , "confirm: false") Out-File -Encoding UTF8 -FilePath $fp -InputObject $fileData Write-Host "修复完成,按Enter键继续" Read-Host | Out-Null Exit
新建文本文档,代码复制进去,保存成.ps1格式,或者保存后修改后缀名为.ps1,放在任何地方都可以运行。
错误2:在build书后使用打开网页无法点击栏中的项目
gitbook有两个构建书籍的命令,一个是serve,一个是build,在使用serve命令后,gitbook会完成编译并启动服务器,可以用浏览器输入localhost:7000浏览,这是没什么问题的。
但是在使用build命令后,用浏览器打开在 书籍项目文件夹目录\_book\index.html ,就会出现左侧栏中的项目无法点击的问题,需要修改_book\gitbook\theme.js,而这个问题是会出现在每次编译中,手动修改非常麻烦,所以要借助工具
Write-Host "Loading..." gitbook build $filep = ".\_book\gitbook\theme.js" $textdata = Get-Content -Encoding UTF8 $filep $textdata = $textdata.Replace("if(m)for(n.handler","if(false)for(n.handler") Out-File -FilePath $filep -Encoding UTF8 -InputObject $textdata Start-Process -FilePath ".\_book\index.html"
新建文本文档,代码复制进去,保存成.ps1格式,或者保存后修改后缀名为.ps1,需要放在项目目录中运行。
运行此脚本会自动进行书籍编译,然后自动对错误文件中的内容进行更改,最后会启动默认浏览器来打开编译好的书籍,如果不想自动启动浏览器,就删除最后一行代码 Start-Process -FilePath ".\_book\index.html"
文章评论