【发布时间】:2018-03-16 16:41:16
【问题描述】:
如何在 Vue 组件中使用供应商库(特别是我想使用 PDF.js)? (我只想为这个特定的组件加载它,因为它们是相当大的文件)
我正在构建一个需要加载 pdf 的编辑器。所以我把pdf.js和pdf.worker.js放在/src/assets/vendor/pdfjs
然后我将两者都加载到同时加载组件的 template-editor-page.hbs 中:
<div class="content">
<div class="row fill">
<div class="col-md-2 fill br pt30">
</div>
<div class="col-md-10 fill pt30 pl30 pr30">
<div id="template-editor" class="template-editor">
<template-editor template-src="{{template.src}}"></template-editor>
</div>
</div>
</div>
</div>
<script src="/assets/js/template-editor.bundle.js"></script>
<script src="/assets/vendor/pdfjs/pdf.js"></script>
<script src="/assets/vendor/pdfjs/pdf.worker.js"></script>
我的 template-editor.js(我必须在这里加载它吗?):
import Vue from 'vue';
import templateEditor from './components/template-editor.vue';
new Vue({
el: '#template-editor',
components: { templateEditor }
});
现在我想在我的 template-editor.vue 中加载文件:
<template>
<!-- ... -->
</template>
<script>
export default {
props: ['templateSrc'],
name: 'template-editor',
data() {
return {
src: this.templateSrc
};
},
methods: {
render() {
PDFJS.getDocument(this.$data.src).then(function(pdf) {
console.log(pdf);
}, err => console.log(err));
}
},
created: function() {
this.render();
}
};
</script>
但我收到一个错误提示
ReferenceError: PDFJS is not defined
其他一切似乎都很好。我错过了什么?
【问题讨论】:
-
你在使用 webpack 吗?
-
是 module.exports = { entry: { 'template-editor': './src/views/templates/template-editor/template-editor.js'}
标签: javascript vue.js pdfjs