刚刚开始使用FuturePress/epub.js。并与vue.js一起使用
<head>
<script src="https://cdn.jsdelivr.net/npm/vue"></script>
<script src="/static/epub.min.js"></script>
<script src="/static/libs/zip.min.js"></script>
</head>
<body>
<div id="app">
<div onclick="Book.prevPage();">‹</div>
<div id="area"></div>
<div onclick="Book.nextPage();">›</div>
</div>
<script src="script.js"></script>
</body>在script.js中
var app = new Vue({
el: '#app',
created: function () {
this.$nextTick(function () {
var Book = ePub("http://desq.xyz/epub-test/book.epub");
Book.renderTo("area");
})
}
});但是,会发生错误。ReferenceError: ePub is not defined。那是什么??
发布于 2019-02-24 05:42:36
它在一些mods上运行良好(我正在遵循epubjs repo上给出的例子)
将cdn用于当前方法的
epub.min.js文件夹设置为/static jszip,因为这是epubjs推荐的方法)rendition处理程序设置为jszip。可能不是必须的,但如果没有它,你需要点击监听器,这是(更简单的) Vue方式。这是一个工作正常的示例index.html。只需将代码粘贴到本地文件中,然后使用浏览器打开它。
index.html
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<script src="https://cdn.jsdelivr.net/npm/epubjs/dist/epub.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.5/jszip.min.js"></script>
</head>
<body>
<div id="app">
<div @click="prev()">‹</div>
<div id="area"></div>
<div @click="next()">›</div>
</span>
<script>
var app = new Vue({
el: '#app',
data: {
book: null,
rendition: null
},
created() {
this.book = ePub("https://s3.amazonaws.com/epubjs/books/alice/OPS/package.opf");
this.rendition = this.book.renderTo("area", {width: 600, height: 400});
var displayed = this.rendition.display();
},
methods: {
prev() {
this.rendition.prev();
},
next() {
this.rendition.next();
}
}
});
</script>
</body>发布于 2019-02-22 08:50:27
当从公共CDN使用时,epub.min.js对我不起作用。
在克隆库的repository并编译dist文件后,它似乎可以正常工作。
下面是一个包含您的代码和来自自己源代码的epub.min.js的有效JSFiddle。
所以问题出在正确的epub.min.js文件中。
按照lib的repository (首选的方式)上的说明构建您自己的源代码,或者随意使用download临时提供的编译源代码。
发布于 2020-11-12 20:42:43
我遇到了同样的问题,并发现来自所谓的“准备构建”的epub.js文件(通过运行命令npm run prepare as describe here)没有加载到我的HTML文件中。我修复了路径问题,也解决了这个问题。
https://stackoverflow.com/questions/49128203
复制相似问题