Home
Button Mobile Webdesign em Foco
Newsletter Webdesign em Foco
Support Webdesign em Foco
Contribuition Webdesign em Foco
Doe para a Webdesign em Foco
Suporte da Webdesign em Foco
Fechar

Vanilla Javascript - #40 Compatibilizando com Babel e Webpack

14/08/2019

Durante o curso nós pudemos ver que a partir do EcmaScript 6 vários novos recursos foram lançados, mas os navegadores antigos não davam suporte. Nessa aula aprenderemos como tornar esse código compatível com Babel e Webpack.

Exemplificando o problema de compatibilidade

Para exemplificar o problema de compatibilidade vamos criar um projetinho simples e testar nos navegadores Chrome, Firefox, Edge e IE 11.

Vamos criar na raiz do projeto o arquivo index.html:

<!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8">
    <title>Babel + Webpack</title>
</head>
<body>

    <script src="js/dist/bundle.js"></script>
</body>
</html>

Criaremos também, um diretório com o nome js que abrigará os arquivos do Javascript.

index.js

import ClassPerson from "./ClassPerson";
let person=new ClassPerson;
alert(person.andar());

ClassPerson.js

export default class ClassPerson{
    andar(){
        return "A pessoa andou";
    }

    comer(){
        return "A pessoa comeu";
    }
}

Basicamente no código acima, fizemos uma classe com dois métodos e demos um alerta chamando o método andar. A parte de classes foi implementada a partir do ES6. Vamos testar o código nos navegadores citados no início do tutorial.

Você pode reparar que em todos os navegadores, exceto o Internet Explorer 11, o alerta funcionou. Isso porque o IE 11 não dá suporte a classes. Vamos então compatibilizar a partir de agora o código com o Babel e Webpack.

Compatibilizando o código com Babel e Webpack

Pra fazer a compatibilização vamos precisar do NPM, logo vamos baixar o NodeJS que já traz isso pra nós.

Instalando o Webpack

Assim que intalar o NodeJS, acesse o terminal do seu sistema operacional. No Windows basta acessar iniciar >> cmd. Siga os comandos abaixo:

1 - Vá até o diretório raiz do seu projeto

cd c:/wamp64/www/js

2 - Dê o comando de inicialização e preencha com os dados que quiser:

npm init

Vá até o site do Webpack, acesse Documentation >> Guides >> Getting Started

Volte ao terminal e rode os comandos:

npm install webpack --save-dev
npm install webpack-cli --save-dev

Acesse no mesmo site o link modules. Crie o arquivo webpack.config.js:

const path = require('path');

module.exports = {
  entry: './src/index.js',
  output: {
    filename: 'bundle.js',
    path: path.resolve(__dirname, 'dist')
  },
  mode: 'development'
};

Observe que no código acima, o output do nosso sistema está indo para a pasta dist e arquvio bundle.js. Crie o arquivo com esse nome na pasta dist.

Copie o script do Webpack e jogue dentro do arquivo package.json. Veja como ficou:

{
  "name": "wef",
  "version": "1.0.0",
  "description": "wef babel e webpack",
  "scripts": {
    "build": "webpack --watch"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "webpack": "^4.39.1",
    "webpack-cli": "^3.3.6"
  }
}

Volte ao terminal e rode o comando:

npm run build

Se você reparar agora o arquivo bundle.js já está carregado com todo o código compilado.

No nosso index.html mude o link do javascript. Assim:

<script src="js/dist/bundle.js"></script>

Na próxima aula finalizamos implementando o Babel.

Sucesso nos códigos e na vida!!

Receba as aulas da Webdesign em Foco em Seu Email
Suporte Webdesign em Foco

Posts Relacionados

Vanilla Javascript - #39 Date e Minificar
No tutorial de hoje aprenderemos a utilizar o construtor Date. Veremos também como minificar um arquivo javascript e pra que serve a minificação de documentos.
Saiba mais!
Vanilla Javascript - #41 Compatibilizando com Babel e Webpack II
Na aula de hoje finalizaremos a parte de compatibilização do código com a inserção do Babel neste contexto.
Saiba mais!
Javascript
Ensinaremos durante as aulas a codificação desta importante linguagem de programação.
Saiba mais!