Moment: A importação de módulo não funciona no Chrome mais recente

Criado em 5 out. 2017  ·  7Comentários  ·  Fonte: moment/moment

Descrição do problema e etapas para reproduzir:

A versão mais recente do Chrome declara suporte para importação de módulos nativos. Mas o recurso requer que o nome completo do arquivo do módulo seja fornecido (incluindo a extensão ".js").
No código da biblioteca "importar ...", as entradas não têm extensões ".js", o que resulta em erros 404 no navegador.

Para sua informação: Uma coisa que pode (e faz em algumas plataformas) esconder esse problema é a configuração do servidor web.
O servidor web Apache no OSX parece ter a configuração "MultiViews" habilitada por padrão (o que faz com que o servidor encontre o arquivo "moment.js" se não houver um arquivo "momento" encontrado), mas no Ubuntu, por exemplo, esta opção do servidor web está desativado, o que faz com que o carregamento do módulo falhe.

Meio Ambiente:

Chrome 61.0.3163.100 (64 bits) no Ubuntu 16.04

console.log( (new Date()).toString())
console.log((new Date()).toLocaleString())
console.log( (new Date()).getTimezoneOffset())
console.log( navigator.userAgent)
VM3015:1 Thu Oct 05 2017 19:30:43 GMT+0600 (+06)
VM3015:2 05.10.2017, 19:30:43
VM3015:3 -360
VM3015:4 Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36

A versão moment.js é 2.18.1

Help Wanted Loading

Comentários muito úteis

Isso não é apenas uma coisa cromada. Até onde eu sei, a especificação do módulo es6 requer um nome de arquivo em FromClause e não apenas uma string. Rollup e Webpack funcionam bem sem a extensão do arquivo, mas isso apenas para facilitar o empacotamento.

E, no geral, é melhor evitar que qualquer carregador adivinhe a extensão, então sim, os FromClauses devem ser nomes de arquivo completos.

Todos 7 comentários

Isso não é apenas uma coisa cromada. Até onde eu sei, a especificação do módulo es6 requer um nome de arquivo em FromClause e não apenas uma string. Rollup e Webpack funcionam bem sem a extensão do arquivo, mas isso apenas para facilitar o empacotamento.

E, no geral, é melhor evitar que qualquer carregador adivinhe a extensão, então sim, os FromClauses devem ser nomes de arquivo completos.

Seria muito bom ordenar isso, pois nem a versão fonte nem a versão compilada funcionam ao usar uma importação de módulo em navegadores que a suportam.

_Deve_ ser uma solução rápida de apenas adicionar extensões de arquivo às importações.
Também para pessoas que desejam usar a versão compilada - para uso global do Moment, a propriedade global precisa cair para window pois this é undefined .

Isso seria melhor resolvido por um RP dirigido pela comunidade!

aqui vai

Isso seria ótimo para uso em um componente da web Polymer. Agora, não consigo usar o momento js em um componente da web ES6 padrão devido a isso.

Isso ainda é um problema? Estou preocupado com a adição de extensões de arquivo que fará com que o Moment.js pare para algum outro subconjunto de usuários ...

Acho que é uma duplicata de https://github.com/moment/moment/issues/4713

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

Questões relacionadas

BCup picture BCup  ·  3Comentários

chitgoks picture chitgoks  ·  3Comentários

M-Zuber picture M-Zuber  ·  3Comentários

RobinvanderVliet picture RobinvanderVliet  ·  3Comentários

nikocraft picture nikocraft  ·  3Comentários