[00:00] Pessoal, vamos lá! A primeira coisa que eu vou fazer aqui é: eu tenho o projeto “webpack-alura-1” aqui baixado e descompactado na minha área de trabalho. Vou abrir o Visual Studio Code.
[00:13] Está aqui o Visual Studio Code aberto, é o editor de texto que eu sugiro vocês utilizarem ao longo do treinamento. Vou aqui na opção para abrir o projeto, “Open...”. Se você utiliza o Windows essa opção é “Open Folder”, no Mac “Open...” e “Open Folder” dão no mesmo. Vou clicar em “Open”, vou lá na minha área de trabalho e clico em “webpack-alura-1”. Selecionei a pasta, “open”.
[00:36] Temos o projeto aqui, vou explicar para vocês a estrutura. Esse projeto tem um pequeno servidor web para disponibilizarmos o projeto que já está pronto - que vamos otimizar e utilizar o webpack, precisamos de um projeto que tenha algum sentido - nesse projeto que baixamos, dentro da pasta “app>src”, temos o arquivo “app.html” do projeto, os arquivos “js” do projeto que vamos precisar otimizar, arquivo “css”.
[01:13] Então a pasta “src” é a pasta do projeto. Eu vou falar um pouquinho sobre esse projeto, eu vou entrar e vou falar sobre ele.
[01:22] Como eu faço para compartilhar esse projeto com o meu navegador? É isso o que vamos ver agora! A primeira coisa que você vai fazer assim que descompactar o seu projeto é abrir o seu terminal favorito - ou dentro do VS Code, clicar em “Terminal>New Window”, ele vai abrir uma janela de terminal, dentro da pasta que você está aqui do projeto.
[01:46] Se eu digitar aqui dir - no Windows é dir, aqui é ls no Mac - conseguiremos ver que estamos dentro da pasta raiz, que é o “webpack-alura-1”. Dentro dessa pasta, por favor, vocês farão npm install para baixarem as dependências do pequeno servidor web que eu tenho aí para poder disponibilizar esse projeto. Vou clicar npm install e ele vai baixar.
[02:15] Agora, como vou rodar esse projeto? Se olhamos o arquivo package.json esse arquivo tem um script de inicialização do nosso projeto.
[02:25] Quando eu executar esse script ele vai executar o lite-server, que é o servidor que estou utilizando para compartilhar esse arquivo. Eu vou dizer que o baseDir é app e ele vai compartilhar tudo o que está dentro da pasta “app”.
[02:40] Dentro da pasta “app” temos o “index.html”, que quando for aberto vai redirecionar para app.
[02:50] Então eu vou abrir o meu projeto e por debaixo dos panos ele vai redirecionar para “app”. O que eu peço para vocês é focarem só nessa pasta “src”, é essa pasta que tem meu “css”, meu arquivo JavaScript, a minha página principal da aplicação e por aí vai. Ficou claro?
[03:09] Como é que rodo esse projeto? Agora que dei o npm install eu posso dar npm run start. Quando eu fizer isso, automaticamente o navegador padrão do meu sistema operacional vai ser aberto. Se ele não for aberto nós vamos digitar uma URL que vou fazer aqui com vocês. Executei npm run start, ele abriu o projeto para na pasta “localhost:300/src/app/html”.
[03:37] Isso faz sentido porque se estou compartilhando “app” dentro de “app” é o meu local host aqui. Dentro de “app” eu tenho a “src”, e dentro de “src” eu tenho “app.html” – “localhost:3000/src/app.html”.
[03:55] Minha aplicação é carregada. É assim que vamos trabalhar durante bastante tempo do nosso treinamento para compartilharmos os arquivos. Porque depois que eu usar o processo do bundle do webpack, de compactar, e fazer todas as otimizações eu quero ter em um único lugar a opção de poder testar a versão antiga com a versão nova, ler os resultados e ver o que acontece.
[04:22] Outra coisa que essa aplicação rapidamente fala é de uma aplicação de bolsa de valores. Eu posso cadastrar uma negociação. Tem que ser em um dia útil, se eu colocar essa data que não é em um dia útil, eu vou tentar incluir e nada acontecerá - porque é apenas negociações em dias úteis.
[04:39] Agora, se coloco um dia útil, eu consigo incluir na tabela.
[04:46] Mais tarde vamos ver que esse botão “importar” aqui vai se integrar com um API do back-end para obter os dados de negociações. “Flávio, por que isso é importante para o webpack?” Porque eu quero entregar alguns cenários que são bem comuns no dia a dia do desenvolvedor e como é que você lida, resolve e otimiza utilizando o webpack.
[05:06] Até agora nada de webpack, apenas essa estrutura básica aqui do projeto para podermos, a partir dele, continuar trabalhando e realizando nossos projetos!
[05:16] Outra coisa é que se eu abrir aqui o console do navegador na aba “Network” e dou refresh, você vai ver que se eu vejo o código fonte da minha página, eu vou estar utilizando o sistema de módulos do ECMAScript 5.
[05:34] Ele carrega o “app.js” e a partir disso ele consegue resolver todas as dependências. O navegador é inteligente para baixar todos esses módulos de script dinamicamente, sem eu ter que me preocupar.
[05:52] Vamos lá, vamos continuar o projeto!