Muitas opções, pouco esclarecimento, estamos melhorando!

O que há de novo no webpack dev server 2.0

Nós tivemos algumas mudanças significativas no webpack dev server 2.0, que possivelmente irá fazer sua vida de desenvolvedor mais fácil. Nesse artigo, eu quero mostrar as mudanças e guiar você através das mudanças que quebraram algumas coisas.

Primeiramente, quero me apresentar. No meu dia-a-dia, eu tenho usado webpack por quase dois anos. Eu já contribui para algumas coisas, mas eu quero mais. Por isso, mês passado, eu decidi pegar algumas responsabilidades de manter o webpack dev server e também o webpack dev middleware! 🎉

Existem algumas mudanças significativas, mas mudanças legais estão por vir até o lançamento do webpack dev server 2.0 que eu quero mostrar para você.

Vale lembrar que o 2.0 ainda está em beta. Ele será lançado como estável quando o webpack 2 for lançado.


Mudanças significativas

Compatibilidade

webpack dev server 2 será compatível apenas com webpack 2.

Modo --inline como padrão

Para usuários da CLI, o modo --inline será o novo padrão. Isso significa que você pode remover --inline do seu comando. Se você não quiser usar o modo inline, você terá que adicionar --no-inline no seu comando.

Para usuários da API Node, nada mudará.

Não haverá sobrescrita do output.path

Quando usando a CLI, o objeto output.path da sua configuração do webpack, quase sempre é sobrescrita, e "/" é usada. Em vários casos, isso introduzia comportamentos inesperados ou simplesmente a quebra de alguns plugins.

Se você quiser o comportamento antigo, você pode configurar o output.path para "/". Se quiser usar o novo, tenha certeza de configurar um caminho absoluto no seu output.path.

E para usuários da API Node, novamente, nada muda!

Remoção do contentBase como proxy

Anteriormente, era possível usar uma URL como contentBase. Isso foi marcado como obsoleto por um tempo, mas agora, foi removido por completo.

Use a opção proxy para esse propósito. Você vai alcançar os mesmos resultados, mas de uma maneira mais poderosa!


Novidades

Menos spam no console

Você deve ter notado que depois de parar o servidor, o console no DevTools começa a receber mensagens de erro de tentativas de reconectar com o servidor.

O comportamento antigo, onde uma enxurrada de mensagens aparece no console do DevTools. Eu jurava que tinha um log útil em algum lugar.

Infelizmente, não é possível esconder esses erros, mas agora, nós usamos um algoritmo de "recuo", que atrasa significantemente essas mensagens, com um máximo de 10x mais.

Ah! Agora, o "[WDS] Disconnected!" irá aparecer apenas uma vez.

Muito menos mensagens no console

Algumas pessoas não querem nenhuma mensagem do webpack dev server no console. Nós escutamos você!

Agora existe uma opção chamada clientLogLevel (ou --client-log-level para a CLI), que permite o controle sob as mensagens do console no browser.

Compatibilidade com web workers e plataformas não-web

webpack dev server não funcionava com Web Workers, e também não ajudava em nada plataformas não-web, como Electron ou Ionic.

Essas plataformas são suportadas agora, e a substituição automática de módulos (ou Hot Module Replacement, HMR) deve funcionar com eles.

HTTP/2

O último beta introduzia suporte para HTTP/2, obrigado ao node-spdy.

Sabendo que o HTTP/2 só trabalha com protocolo encriptado, ele só funcionará quando você usar a opção https (ou --https para a CLI).

Nós acreditamos que você irá adorar. — Tim Cook

Essas são apenas algumas das muitas novidades. Dê uma olhada no log de mudanças e todas suas opções.

O que vem por aí

webpack dev server ainda não é fácil de configurar, e nós sabemos disso.

A primeira etapa para melhorar isso será a validação de configuração. Alguns caminhos não podem ser relativos, algumas opções não podem serem usadas juntas. No momento, é muito fácil configurar algo errado. Se você tiver alguma idéia para validação de configuração, venha conversar com a gente!


Créditos