离子中的Epub.js用法

时间:2017-05-22 09:11:43

标签: ionic2 epub.js

我正在尝试创建一个可以打开以阅读epub文件的应用程序。所以我尝试根据此Epub.js javascript library导入此article。我完成了文章中的安排。所以使用下面的代码,我试图在Windows 10和Chrome浏览器中的Ionic 2应用程序中使用epub.js。但我在下面收到此错误。为什么我会收到此错误?

ecatalog.ts

import { Component } from '@angular/core';
import { NavController, NavParams } from 'ionic-angular';
import {epubjs} from "epubjs";

@Component({
  selector: 'page-ecatalog',
  templateUrl: 'ecatalog.html'

})
export class EcatalogPage {

  constructor(public navCtrl: NavController, public navParams: NavParams) {
    var Book = epubjs.ePub("../www/books/k1ecatalog.epub");
      Book.renderTo("area");
  }
}

ecatalog.html

<ion-content>
<div onclick="Book.prevPage();">‹</div>
<div id="area"></div>
<div onclick="Book.nextPage();">›</div>

</ion-content>

错误:

Runtime Error
Error in ./MyApp class MyApp - caused by: Cannot read property 'ePub' of undefined

Stack
TypeError: Cannot read property 'ePub' of undefined
    at new EcatalogPage (http ://192.16 8.33.11:8100/build/main.js:58587:66)
    at new Wrapper_EcatalogPage (/AppModule/EcatalogPage/wrapper.ngfactory.js:7:18)
    at CompiledTemplate.proxyViewClass.View_EcatalogPage_Host0.createInternal (/AppModule/EcatalogPage/host.ngfactory.js:15:26)
    at CompiledTemplate.proxyViewClass.AppView.createHostView (http: //192 .168.33.11:8100/build/main.js:99490:21)
    at CompiledTemplate.proxyViewClass.DebugAppView.createHostView...

1 个答案:

答案 0 :(得分:1)

您需要将 epubjs 文件夹复制到 src / assets 中,然后引用必要的 src / index.html

中的文件
<script src="assets/epubjs/build/epub.min.js"></script>
<script src="assets/epubjs/build/libs/zip.min.js"></script>

然后在你的页面中:

declare var ePub: any;
let book = ePub("assets/books/moby-dick/");

https://github.com/janpio/ionic-epubjs