我正在尝试创建一个可以打开以阅读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...
答案 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/");