3 分钟上手:在浏览器里跑一个网页版 EPUB 阅读器
3 分钟上手在浏览器里跑一个网页版 EPUB 阅读器【免费下载链接】epubjs-readerEpub.js Reader项目地址: https://gitcode.com/gh_mirrors/ep/epubjs-reader想把书放进网页里EPUB 是最通用的开放格式可浏览器并不认识它。EPUB.js Reader 就是干这个的一个基于 epub.js 构建的网页版 EPUB 阅读器给它一个书本地址就能在页面上得到一个完整的阅读体验。它为什么值得关注网页打开 EPUB 的痛点做过阅读类产品的人都知道第一道坎EPUB 本质是个 zip 压起来的 XHTML 包浏览器没有原生支持自己写解析、排版、进度记忆工作量不小。EPUB.js Reader 把这条链路包完了——加载、渲染、目录、书签、进度恢复开箱即用。而且它是个完全开放的实现控制器一层层拆在src/controllers/里想读懂一个阅读器怎么工作它是极好的教材。五分钟跑起来从克隆到第一页翻开 克隆仓库并安装依赖git clone https://gitcode.com/gh_mirrors/ep/epubjs-reader cd epubjs-reader npm install再启动自带的静态服务器npm start服务器默认起在 8080 端口浏览器打开http://localhost:8080/一个带侧边栏的完整阅读页就出来了。想换书读不用改代码URL 加个参数即可?bookPath后面接你的书本地址。这个参数会在src/reader.js里被自动解析并覆盖默认书源。核心能力目录、书签与进度记忆目录树与章节跳转阅读器会解析书籍的导航数据在左侧自动生成可折叠的目录树当前章节实时高亮。任何点击背后都是一次rendition.display(url)调用点了就翻到那一页。书签与笔记点顶部书签按钮触发reader.addBookmark(cfi)位置被钉进书签面板再点一次就能跳回原处。笔记同理addNote()把文字连同 CFI 坐标存下来可以锚定到任意文字片段。阅读进度与字号初始化时传restore: true关闭页面时它会自动把当前 CFI 位置和字号设置存进 localStorage下次打开同一本书接着上次的地方读。字号还支持Ctrl /Ctrl -实时微调Ctrl 0一键还原。真实场景给在线图书馆搭一个阅读页典型用法就是给在线图书馆做阅读页用户 URL 通过bookPath传入各自的书籍restore: true负责进度恢复同一套代码适配不同用户、不同书、不同设备你只需要专心做账号和书库。踩坑提示自己部署 EPUB 文件时记得开 CORS。tools/serve.js里已经内置了跨域中间件但换成自己的 nginx 或 express 时记得补上Access-Control-Allow-Origin响应头不然加载书籍会静默失败。进阶技巧阅读器自带插件机制往EPUBJS.reader.plugins上挂一个控制器初始化时会自动装配——src/plugins/search.js里的全文搜索就是这么实现的加批注、加分享链接都可以照这个路子写。周边生态与下一步 上游核心库 epub.js 值得单独读一读分页、布局这些更细的控制都在它那一层。仓库src/plugins/目录下放着 search 和 hypothesis 批注两个现成插件写自定义功能时可以直接当模板。社区动态可以关注 Epubjs 的邮件列表和 Epubjs 账号插件讨论基本都在那边。现在就把项目拉下来翻开你的第一页吧。【免费下载链接】epubjs-readerEpub.js Reader项目地址: https://gitcode.com/gh_mirrors/ep/epubjs-reader创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考