Comment puis-je utiliser une librairie de fournisseur (en particulier, je veux utiliser PDF.js) dans un composant Vue? (Je ne veux que le charger pour ce composant spécifique car ce sont des fichiers plus volumineux)Vue: utiliser une librairie personnalisée (pdf.js) dans un composant
Je construis un éditeur qui doit charger un pdf. Alors je mis les pdf.js et pdf.worker.js dans/src/assets/fournisseur/pdfjs
Puis je charge à la fois dans le modèle-rédacteur page.hbs qui charge également le composant:
<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>
mon modèle-editor.js (dois-je charger ici?):
import Vue from 'vue';
import templateEditor from './components/template-editor.vue';
new Vue({
el: '#template-editor',
components: { templateEditor }
});
maintenant, je veux charger le fichier dans mon modèle-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>
Mais je reçois une erreur disant
ReferenceError: PDFJS is not defined
Tout le reste semble fonctionner très bien. Qu'est-ce que je rate?
Utilisez-vous webpack? –
Oui module.exports = { entrée: { 'template-editor': './src/views/templates/template-editor/template-editor.js '} – Pete