BabelJS - Configuração de projeto usando Babel 7
A última versão do Babel, 7 lançada com alterações nos pacotes já existentes. A parte de instalação permanece a mesma que era para o Babel 6. A única diferença no Babel 7 é que todos os pacotes precisam ser instalados com@babel/, por exemplo @ babel / core, @ babel / preset-env, @ babel / cli, @ babel / polyfill, etc.
Aqui está uma configuração de projeto criada usando o babel 7.
Comando
Execute o seguinte comando para iniciar a configuração do projeto -
npm init
Instale os seguintes pacotes
npm install --save-dev @babel/core
npm install --save-dev @babel/cli
npm install --save-dev @babel/preset-env
Aqui está o package.json criado -
Agora vai criar um .babelrc arquivo na pasta raiz -
Crie uma pasta src/ e adicionar arquivo main.js a ele e escreva seu código para transpilar para o es5.
src / main.js
let add = (a,b) => {
return a+b;
}
comando para transpilar
npx babel src/main.js --out-file main_es5.js
main_es5.js
"use strict";
var add = function add(a, b) {
return a + b;
};
O funcionamento do Babel 7 continua igual ao do Babel 6. A única diferença é a instalação do pacakge com @babel.
Existem algumas predefinições obsoletas no babel 7. A lista é a seguinte -
- Predefinições ES20xx
- babel-preset-env
- babel-preset-latest
- Predefinições de palco no Babel
Além disso, o ano dos pacotes é removido - @babel/plugin-transform-es2015-classes é agora @babel/plugin-transform-classes
Veremos mais um exemplo de trabalho com texto digitado e transpile-o para o Es2015 JavaScript usando predefinição de texto digitado e babel 7.
Para trabalhar com o typescript, precisamos que o pacote typescript seja instalado da seguinte forma -
npm install --save-dev @babel/preset-typescript
Crio test.ts arquivo no src/ pasta e escrever o código no formulário
test.ts
let getName = (person: string) => {
return "Hello, " + person;
}
getName("Siya");
.babelrc
comando
npx babel src/test.ts --out-file test.js
test.js
"use strict";
var getName = function getName(person) {
return "Hello, " + person;
};
getName("Siya");