Pdf.js: O analisador do Webpack: {requireEnsure: false} não funciona

Criado em 14 nov. 2018  ·  12Comentários  ·  Fonte: mozilla/pdf.js

Este é um problema com o Webpack v4 quando a regra:

{
analisador: {requireEnsure: false},
}

tendo esta saída:

AVISO em ./node_modules/pdfjs-dist/build/pdf.js 7873: 6-13
Dependência crítica: a função require é usada de forma que as dependências não possam ser extraídas estaticamente

Comentários muito úteis

Qual é a vantagem de habilitar essa regra

Parece que create-react-app definiu requireEnsure: false porque não é um recurso de idioma padrão .

Isso leva a qualquer projeto create-react-app que usa pdf.js para mostrar o aviso;

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

Não entendo isso bem o suficiente para saber se há uma maneira de incluir o código substituto que não acione o aviso, mas como parece razoável incluir um substituto, abrirei um problema no create-react-app repo também.

Todos 12 comentários

Qual é a vantagem de habilitar essa regra (já que não acho que habilitamos por padrão) e em qual linha ela dá errado? Está no código-fonte PDF.js ou no código do pacote gerado? Forneça um pouco mais de informações e o conteúdo da linha 7873.

Não acho que a configuração do Webpack seja compatível com o código fakeWorkerFilesLoader que é necessário em alguns ambientes como um fallback quando o usuário não configurou os trabalhadores corretamente, portanto, este problema é provavelmente inválido do ponto de PDF.js de visualizar.

Fechando, pois também acho que não há nada que possamos realmente fazer aqui.

Qual é a vantagem de habilitar essa regra

Parece que create-react-app definiu requireEnsure: false porque não é um recurso de idioma padrão .

Isso leva a qualquer projeto create-react-app que usa pdf.js para mostrar o aviso;

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

Não entendo isso bem o suficiente para saber se há uma maneira de incluir o código substituto que não acione o aviso, mas como parece razoável incluir um substituto, abrirei um problema no create-react-app repo também.

Não tenho certeza, mas parece que uma possível solução para o código de fallback seria publicar PDF.js como módulos es6 e usar algo como rollup para enviar o código de fallback separadamente https://github.com/mozilla/pdf. js / issues / 10317

Estou tendo problemas para seguir o código fakeWorkerFilesLoader .

isso é necessário em alguns ambientes como um substituto quando o usuário não configurou os trabalhadores

@Snuffleupagus você poderia elaborar um pouco sobre isso? Quando o fallback será ativado e como o trabalhador será carregado nesse caso? A que tipo de ambiente você está se referindo? Seria possível remover o fallback em favor de um erro?

Eu tenho o problema exato, obtenha o erro exato de um plugin que é baseado em pdf.js (vue-pdf).
O erro que recebo é:
AVISO em ./node_modules/pdfjs-dist/build/pdf.js 9818: 60-67
Dependência crítica: a função de requerimento é usada de uma maneira que as dependências não podem ser extraídas estaticamente.

Não tenho certeza, mas parece que uma possível solução para o código substituto seria publicar PDF.js como módulos es6 e usar algo como rollup para enviar o código substituto separadamente # 10317

Isso seria excelente. Este aviso é super irritante em qualquer projeto CRA.

Isso nunca será corrigido @timvandermeij? Apenas me perguntando se eu deveria estar esperando ou me mudando.

Não ficou claro que isso é realmente algo que precisa ser corrigido no lado do PDF.js e, em caso afirmativo, quais são as alternativas para require.ensure . Não podemos fornecer suporte para "criar-reagir-app", então provavelmente é melhor registrar o problema em seu rastreador.

Se https://github.com/mozilla/pdf.js/issues/10253#issuecomment -463377308 resolver o problema, isso já foi rastreado em um problema separado.

@timvandermeij Oi, isso aconteceu comigo em uma configuração Vue.js e tentei todos os plug-ins que pude encontrar. Eles eram todos baseados em pdf.js, e recebi o mesmo erro:
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.

Para uma correção temporária, substitua a regra de scripts de reação .

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

zerr0s picture zerr0s  ·  3Comentários

liuzhen2008 picture liuzhen2008  ·  4Comentários

aaronshaf picture aaronshaf  ·  3Comentários

smit-modi picture smit-modi  ·  3Comentários

brandonros picture brandonros  ·  3Comentários