欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue使用epubjs電子書的教程詳解

 更新時間:2023年11月03日 15:45:31   作者:會說法語的豬  
EPUB.js是一個基于JavaScript的庫,用于從電子書中提取內(nèi)容,這篇文章主要為大家詳細介紹了vue如何使用epubjs實現(xiàn)電子書的功能,感興趣的小伙伴可以學習一下

 npmjs: https://www.npmjs.com/package/epubjs 

在線電子書轉(zhuǎn)換器

安裝

npm i epubjs

簡單封裝

 src/hooks/

import Epub from "epubjs";
import type { Book, Rendition } from 'epubjs'
import type { BookOptions } from 'epubjs/types/book'
import type { RenditionOptions } from 'epubjs/types/rendition'
 
export function useEpub() {
  let book: Book
  let rendition: Rendition
 
  function createBook(urlOrData?: string | ArrayBuffer, options?: BookOptions) {
    if(!urlOrData) {
      book = Epub(options)
    } else {
      book = Epub(urlOrData, options)
    }
    return book
  }
 
  function render(element: Element | string, options?: RenditionOptions) {
    if(!book) return
    if(typeof element === 'string') {
      rendition = book.renderTo(element, options)
    } else {
      rendition = book.renderTo(element, options)
    }
    return rendition
  }
 
  function display() {
    if(!rendition) return
    return rendition.display()
  }
 
  function getBook() {
    return book
  }
 
  function getRendition() {
    return rendition
  }
 
  return { createBook, render, display, getBook, getRendition }
}

使用

<template>
  <div class="main">
    <div id="epub"></div>
    <div class="btn">
      <button @click="pre">pre</button>
      <button @click="next">next</button>
    </div>
  </div>
</template>
<script setup lang="ts">
import { useEpub } from '../hooks'
import { onMounted } from 'vue'
 
const { createBook, render, display, getRendition } = useEpub()
 
onMounted(() => {
  createBook('static/example.epub')
  render('epub', { width: '100%', height: '100%' })
  display()
})
 
// 上一頁
const pre = async () => {
  await getRendition().prev()
}
 
// 下一頁
const next = async () => {
  await getRendition().next()
}
</script>
<style scoped>
.main {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
 
.main > #epub {
  width: 500px;
  height: 500px;
  border: 1px dashed red;
  box-sizing: border-box;
}
.main .btn {
  display: flex;
  justify-content: space-between;
  margin-top: 5px;
}
.main .btn button {
  padding: 7px 15px;
  margin-left: 20px;
}
</style>

這個示例電子書地址:https://example-files.online-convert.com/ebook/epub/example.epub

直接下載下來,放在public/static下。

這篇只是簡單寫一下使用,還沒有正式用到

更多可以參考文章:vue+epubjs實現(xiàn)電子書閱讀器的基本功能

寫的相對更詳細一些,也可以看著源碼調(diào)用對應方法來實現(xiàn)對應功能。

到此這篇關于Vue使用epubjs電子書的教程詳解的文章就介紹到這了,更多相關Vue epubjs電子書內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • vue項目webpack中Npm傳遞參數(shù)配置不同域名接口

    vue項目webpack中Npm傳遞參數(shù)配置不同域名接口

    這篇文章主要介紹了vue項目webpack中Npm傳遞參數(shù)配置不同域名接口,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • vue項目中按需引入element-ui的正確實現(xiàn)方法

    vue項目中按需引入element-ui的正確實現(xiàn)方法

    這篇文章主要介紹了vue項目中按需引入element-ui的正確實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Vue 2中ref屬性的使用方法及注意事項

    Vue 2中ref屬性的使用方法及注意事項

    這篇文章主要給大家介紹了關于Vue 2中ref屬性的使用方法及注意事項的相關資料,文中通過示例代碼介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面跟著小編一起來學習學習吧。
    2017-06-06
  • 詳解vue2路由vue-router配置(懶加載)

    詳解vue2路由vue-router配置(懶加載)

    本篇文章主要介紹了詳解vue2路由vue-router配置(懶加載),實例分析了vue-router懶加載的技巧,非常具有實用價值,需要的朋友可以參考下
    2017-04-04
  • 第一個Vue插件從封裝到發(fā)布

    第一個Vue插件從封裝到發(fā)布

    這篇文章主要為大家詳細介紹了第一個Vue插件從封裝到發(fā)布的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • vue3中引入class類的寫法代碼示例

    vue3中引入class類的寫法代碼示例

    最近一直在做vue項目,從網(wǎng)上搜索到的資料不太多,這篇文章主要給大家介紹了關于vue3中引入class類的寫法的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-05-05
  • 在Vue 中使用Typescript的示例代碼

    在Vue 中使用Typescript的示例代碼

    這篇文章主要介紹了在Vue 中使用Typescript的示例代碼,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-09-09
  • vue?element表格某一列內(nèi)容過多,超出省略號顯示的實現(xiàn)

    vue?element表格某一列內(nèi)容過多,超出省略號顯示的實現(xiàn)

    這篇文章主要介紹了vue?element表格某一列內(nèi)容過多,超出省略號顯示的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • Vue3+TS實現(xiàn)語音播放組件的示例代碼

    Vue3+TS實現(xiàn)語音播放組件的示例代碼

    這篇文章主要介紹了如何利用Vue+TS實現(xiàn)一個簡易的語音播放組件,文中的示例代碼講解詳細,對我們學習Vue有一定的幫助,需要的可以參考一下
    2022-03-03
  • Vue.extend實現(xiàn)組件庫message組件示例詳解

    Vue.extend實現(xiàn)組件庫message組件示例詳解

    這篇文章主要為大家介紹了Vue.extend實現(xiàn)組件庫message組件示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07

最新評論