Esta manhã eu atualizei o momento de 2.24.0 para 2.25.0 e comecei a receber este aviso do meu Webpack build:
Critical dependency: the request of a dependency is an expression
Versões que estou usando:
gole - 4.0.2
webpack - 4.43.0
babel - 7.9.6
Nenhuma outra atualização ocorreu no meio. Apenas moment.js foi atualizado e o aviso apareceu.
o mesmo problema
o mesmo problema
depois de instalar o momento no aplicativo laravel vue.
WARNING in ./node_modules/moment/src/lib/locale/locales.js 78:12-82:13
Critical dependency: the request of a dependency is an expression
@ ./node_modules/moment/src/lib/locale/locale.js
@ ./node_modules/moment/src/moment.js
@ ./resources/js/app.js
@ multi ./resources/js/app.js ./resources/sass/app.scss
O mesmo aqui, bloquear a versão do pacote para 2.24.0 ajuda por agora ...
O mesmo problema aqui! Crítico!
Eu tive o mesmo problema! Bloqueado o meu para 2.24.0 e consertei minha construção
Destacado
Mesmo aqui. 2.25.0 apresenta esse problema, mas não 2.24.0. Alterações em 2092: 16-2096: 17 em moment.js é a raiz.
Mesmo problema, mas estranhamente apenas quando executado como dev (este é um projeto nuxt). Os problemas parecem estar em src/lib/locale/locales.js
linha 78-82,
Mudando:
`` `javascript
aliasRequire (
(typeof __dirname! == undefined? __dirname: '.') +
'/ locale /' +
nome
);
to:
javascript
aliasRequire ('../ locale /' + nome);
`` ``
Corrige o problema para mim
Eu o recebo tanto nas compilações de dev e prod com minha configuração.
O mesmo aqui, bloquear a versão do pacote para 2.24.0 ajuda por agora ...
Sim, essa é a solução alternativa óbvia, mas não é realmente uma solução :-).
Também estou recebendo o mesmo aviso e erros de console a seguir, em um navegador da web para aplicativo angular ao chamar moment.format()
.
ERROR TypeError: __WEBPACK_IMPORTED_MODULE_2_moment__ is not a function
(main.bundle.js:11539)
Show 102 more frames
mesmo aqui
Também confirmado
Espere um segundo - isso é um aviso, não um erro. Ainda produz um pacote?
Com o momento 2.25.0:
% ./node_modules/.bin/webpack
Hash: 42b60d02778538c038dc
Version: webpack 4.43.0
Time: 497ms
Built at: 05/01/2020 4:56:43 PM
Asset Size Chunks Chunk Names
bundle.js 72.2 KiB 0 [emitted] main
Entrypoint main = bundle.js
[13] ./node_modules/moment/src/lib/units/month.js + 1 modules 9.92 KiB {0} [built]
| 2 modules
[26] ./node_modules/moment/src/lib/create/valid.js + 1 modules 1.88 KiB {0} [built]
| 2 modules
[36] ./node_modules/moment/src/lib/create/from-anything.js + 8 modules 25.1 KiB {0} [built]
| 9 modules
[46] (webpack)/buildin/harmony-module.js 573 bytes {0} [built]
[47] ./node_modules/moment/src/lib/locale sync 160 bytes {0} [optional] [built]
[48] ./src/index.js + 54 modules 84.6 KiB {0} [built]
| ./src/index.js 62 bytes [built]
| + 54 hidden modules
+ 43 hidden modules
WARNING in ./node_modules/moment/src/lib/locale/locales.js 78:12-82:13
Critical dependency: the request of a dependency is an expression
@ ./node_modules/moment/src/lib/locale/locale.js
@ ./node_modules/moment/src/moment.js
@ ./src/index.js
WARNING in configuration
The 'mode' option has not been set, webpack will fallback to 'production' for this value. Set 'mode' option to 'development' or 'production' to enable defaults for each environment.
You can also set it to 'none' to disable any default behavior. Learn more: https://webpack.js.org/configuration/mode/
E funciona.
Com [email protected] :
% ./node_modules/.bin/webpack
Hash: c16dbd62d51ed42203b2
Version: webpack 4.43.0
Time: 559ms
Built at: 05/01/2020 4:58:27 PM
Asset Size Chunks Chunk Names
bundle.js 263 KiB 0 [emitted] [big] main
Entrypoint main [big] = bundle.js
[128] ./src/index.js 62 bytes {0} [built]
[129] (webpack)/buildin/module.js 497 bytes {0} [built]
[130] ./node_modules/moment/locale sync ^\.\/.*$ 3 KiB {0} [optional] [built]
+ 128 hidden modules
WARNING in configuration
The 'mode' option has not been set, webpack will fallback to 'production' for this value. Set 'mode' option to 'development' or 'production' to enable defaults for each environment.
You can also set it to 'none' to disable any default behavior. Learn more: https://webpack.js.org/configuration/mode/
WARNING in asset size limit: The following asset(s) exceed the recommended size limit (244 KiB).
This can impact web performance.
Assets:
bundle.js (263 KiB)
WARNING in entrypoint size limit: The following entrypoint(s) combined asset size exceeds the recommended limit (244 KiB). This can impact web performance.
Entrypoints:
main (263 KiB)
bundle.js
WARNING in webpack performance recommendations:
You can limit the size of your bundles by using import() or require.ensure to lazy load some parts of your application.
For more info visit https://webpack.js.org/guides/code-splitting/
E ainda funciona.
Espere um segundo - isso é um aviso, não um erro. Ainda produz um pacote?
Sim. Ainda assim - irritante, errado e torna a saída da compilação cheia de vestígios de baixa qualidade.
Também estou vendo isso, mas apenas em compilações de produção por meio de nosso CI.
@jontybrook Eu estava vendo o mesmo comportamento, mas depois de destruir a pasta node_modules, consegui reproduzir isso localmente.
O código com __dirname
que estava corrigindo um problema para o react-native teve que ser revertido para que vocês (usuários do webpack) possam ver uma saída melhor do console.
Fixado em 2.25.1
Isso não tem nada a ver com uma melhor saída de console ... mas muito menos do que compilações de quebra de código testadas idealmente para MUITAS pessoas!
Fico feliz em saber que foi consertado e publicado minutos atrás - passamos as últimas horas investigando nosso lado tentando encontrar a causa
Isso não tem nada a ver com uma melhor saída de console ... mas muito menos do que compilações de quebra de código testadas idealmente para MUITAS pessoas!
Exatamente ! Advertir hoje é um erro potencial amanhã.
Foi muito pior do que um aviso ... se você por acaso estivesse executando o fuso horário de momento que puxa dinamicamente a versão mais recente do momento, isso causava uma quebra completa do código!
Espere um segundo - isso é um aviso, não um erro. Ainda produz um pacote?
Se apenas produzir um pacote fosse o único resultado desejado ...
O código com
__dirname
que estava corrigindo um problema para o react-native teve que ser revertido para que vocês (usuários do webpack) possam ver uma saída melhor do console.Fixado em 2.25.1
Por que o sarcasmo ?! A produção limpa é importante. Na minha configuração, coloquei estatísticas e métricas que são importantes para mim e inundá-las com coisas desnecessárias torna cansativa de ler e no mínimo retarda meu trabalho. Então vem o fato de que um aviso é sempre algo que não deve ser ignorado a longo prazo. Por último, mas na verdade primeiro - acaba sendo realmente problemático para algumas configurações, conforme relatado por
Fico feliz em ver isso corrigido. Continuará com 2.24.0 até uma versão posterior ou pode mantê-lo ... demorou muito para descobrir por que nosso aplicativo da web foi quebrado esta manhã após uma implantação.
Usuários de "vocês" webpack ... também conhecidos como uma grande parte dos desenvolvedores de aplicativos web. No momento, não temos nenhum dado extra vindo de nosso processo de webpack, então não quero olhar para uma saída de console melhor, só quero que funcione.
Ainda causando problemas: https://github.com/moment/moment/issues/5472
O código com
__dirname
que estava corrigindo um problema para o react-native teve que ser revertido para que vocês (usuários do webpack) possam ver uma saída melhor do console.Fixado em 2.25.1
Sarcasmo à parte, a v2.25.1 na verdade não corrige nada (o aviso Module not found
ainda está lá). Normalmente, eu evito ser crítico com os colaboradores de código aberto que estão dedicando seu tempo, mas por favor, não tenha uma atitude em relação aos usuários que estão simplesmente relatando problemas. E sim, os avisos existem por um motivo. Ignorá-los obscurece todos os tipos de outras informações e geralmente leva a algo quebrado no caminho.
Este problema não deve ser resolvido ... é uma mudança importante para usuários de fuso horário que usam webpack, não apenas um problema de mostrar um aviso (e afetando um número enorme de pessoas)
mesmo problema
não consertar 2.25.0
não consertar 2.25.1
não consertar 2.25.2
Eu quero que você reverta para a versão original.
Ambiente de verificação de operação
https://github.com/standard-software/partsjs/tree/v5.0.0
package.json
Cara isso não está consertado! Não podemos fechar os defeitos até que sejam resolvidos, especialmente quando eles quebram compilações existentes, como o Webpack ?! @ichernev por favor
Olá, BUMP !, isso também está quebrando minha compilação, não foi consertado.
Acabei de atualizar moment com npm i moment e resolveu
Comentários muito úteis
O mesmo aqui, bloquear a versão do pacote para 2.24.0 ajuda por agora ...