Pdf.js: Analyseur Webpack : {requireEnsure : false} ne fonctionne pas

Créé le 14 nov. 2018  ·  12Commentaires  ·  Source: mozilla/pdf.js

Il s'agit d'un problème avec Webpack v4 lorsque la règle :

{
analyseur : { requireEnsure : false },
}

avoir cette sortie :

AVERTISSEMENT dans ./node_modules/pdfjs-dist/build/pdf.js 7873:6-13
Dépendance critique : la fonction require est utilisée de manière à ce que les dépendances ne puissent pas être extraites de manière statique

Commentaire le plus utile

Quel est l'avantage d'activer cette règle

Il semble que create-react-app ait défini requireEnsure: false car ce n'est pas une fonctionnalité de langage standard .

Cela conduit à tout projet create-react-app qui utilise pdf.js pour afficher l'avertissement ;

./node_modules/pdfjs-dist/build/pdf.js
Critical dependency: require function is used in a way in which dependencies cannot be statically extracted

Je ne comprends pas assez bien cela pour savoir s'il existe un moyen d'inclure le code de repli qui ne déclenche pas l'avertissement, mais comme il semble raisonnable d'inclure un repli, je vais ouvrir un sujet sur le create-react-app repo aussi.

Tous les 12 commentaires

Quel est l'avantage d'activer cette règle (puisque je ne pense pas que nous l'activions par défaut) et à quelle ligne cela se passe-t-il mal ? Est-ce dans le code source PDF.js ou dans le code du bundle généré ? Veuillez fournir un peu plus d'informations et le contenu de la ligne 7873.

Je ne pense pas que le paramètre Webpack soit compatible avec le code fakeWorkerFilesLoader qui est nécessaire dans certains environnements comme solution de secours lorsque l'utilisateur n'a pas configuré correctement les travailleurs, donc ce problème est probablement invalide du point de PDF.js de vue.

Fermeture car je ne pense pas non plus qu'il y ait quoi que ce soit que nous puissions vraiment faire ici.

Quel est l'avantage d'activer cette règle

Il semble que create-react-app ait défini requireEnsure: false car ce n'est pas une fonctionnalité de langage standard .

Cela conduit à tout projet create-react-app qui utilise pdf.js pour afficher l'avertissement ;

./node_modules/pdfjs-dist/build/pdf.js
Critical dependency: require function is used in a way in which dependencies cannot be statically extracted

Je ne comprends pas assez bien cela pour savoir s'il existe un moyen d'inclure le code de repli qui ne déclenche pas l'avertissement, mais comme il semble raisonnable d'inclure un repli, je vais ouvrir un sujet sur le create-react-app repo aussi.

Je ne suis pas sûr, mais il semble qu'une solution possible au code de secours serait de publier PDF.js en tant que modules es6 et d'utiliser quelque chose comme rollup pour expédier le code de secours séparément https://github.com/mozilla/pdf. js/issues/10317

J'ai du mal à suivre le code fakeWorkerFilesLoader .

cela est nécessaire dans certains environnements comme solution de secours lorsque l'utilisateur n'a pas configuré les travailleurs

@Snuffleupagus pourriez-vous nous en dire un peu plus ? Quand le repli s'activera-t-il et comment le travailleur est-il chargé dans ce cas ? De quel type d'environnement parles-tu ? Serait-il possible de supprimer le repli au profit d'une erreur ?

J'ai le problème exact, obtenez l'erreur exacte d'un plugin basé sur pdf.js (vue-pdf).
L'erreur que j'obtiens est :
AVERTISSEMENT dans ./node_modules/pdfjs-dist/build/pdf.js 9818:60-67
Dépendance critique : la fonction require est utilisée de manière à ce que les dépendances ne puissent pas être extraites de manière statique.

Je ne suis pas sûr, mais il semble qu'une solution possible au code de secours serait de publier PDF.js en tant que modules es6 et d'utiliser quelque chose comme rollup pour expédier le code de secours séparément #10317

Ce serait excellent. Cet avertissement est super ennuyeux dans tout projet CRA.

Est-ce que cela ne sera jamais corrigé @timvandermeij ? Je me demandais juste si je devais attendre ou déménager.

Il n'est pas devenu clair que c'est vraiment quelque chose qui doit être corrigé du côté de PDF.js, et si c'est le cas, quelles sont les alternatives pour require.ensure . Nous ne pouvons pas fournir de support pour "create-react-app", il est donc probablement préférable de signaler le problème dans leur tracker.

Si https://github.com/mozilla/pdf.js/issues/10253#issuecomment -463377308 résout le problème, alors cela est déjà suivi dans un problème séparé.

@timvandermeij Salut, cela m'est arrivé dans une configuration Vue.js et j'ai essayé tous les plugins que j'ai pu trouver. Ils étaient tous basés sur pdf.js, et j'ai eu la même erreur :
WARNING in ./node_modules/pdfjs-dist/build/pdf.js 9818:60-67 Critical dependency: require function is used in a way in which dependencies cannot be statically extracted.

Pour un correctif temporaire, remplacez la règle react-scripts .

Cette page vous a été utile?
0 / 5 - 0 notes