Articles

configurar rapidamente Babel para compilar códigos de Javascript Es6+ em ambiente de nó.

Babel

a criação de Babel para compilar es6+ códigos Javascript em um compatível com versões anteriores versão de JavaScript no atual e navegadores mais antigos ou ambientes é provavelmente a coisa mais fácil que eu já vi, como um desenvolvedor. No entanto, ele me levou um tempo para perceber isso e que era devido ao fato de que Babel não é apenas um pacote de plug em seu projeto e ele começa a tocar, mas você realmente precisa para obter vários pacotes juntos para fazê-lo funcionar, sabendo-se o direito de pacotes para você escolher pode ser confuso. Neste post do blog, eu estaria explicando como você pode configurar Babel para ajudá-lo a compilar seus códigos es6, es7, es8 etc Javascript em versões do Javascript que podem ser executados sem erros no tempo de execução NodeJS.como eu disse anteriormente, fazer Babel trabalhar envolve obter um par de pacotes de npm, então vamos começar. O primeiro pacote que estaríamos instalando é babel-core. Este é o motor babel, mas ele realmente não pode fazer nada por si mesmo, ele precisa de alguns outros pacotes para ajudá-lo.

Executar npm install @babel/core --save para instalar babel-core

O segundo pacote de nós seria a instalação é o babel-cli. Este pacote garante que nós somos capazes de usar Babel a partir da linha de comando e uma vez que estamos trabalhando em um ambiente de nó devemos definitivamente precisar disso.

Executar npm install @babel/cli --save para instalar babel-cli

Você pode querer incluir uma babel de script no script seção do package.json como esta:

"scripts": {
... "babel": "./node_modules/.bin/babel",
...}

Isso nos ajudaria a evitar a digitação de longos e confusos comandos na interface de linha de comando, cada vez que deseja compilar.

Testing

Now, with these two packages, we can actually do something with babel, just to feel what babel is, however, no transformation would occur yet.

Criar uma test.js arquivo e escrever um pouco de JavaScript es6 códigos nele, em seguida, vá para a linha de comando e executar o

npm run babel test.js -- --out-file compiledTest.js

Você deve ver um novo compiledTest.js arquivo e este arquivo deve conter exatamente a mesma coisa que você escreveu: test.js, então, não compilar o ocorrido, mas Babel está trabalhando.

o comando que executamos acima é simplesmente dizer a Babel para compilar otest.js ficheiro para um ficheiro de saída chamado compiledTest.js. Se você precisa compilar arquivos em um diretório apenas fazer:

npm run babel ./path/to/sourceCodes --out-dir ./path/to/destination

Assim, para obter Babel para fazer o compilar, precisamos instalar alguns plugins para ajudar a babel-core. A verdade é que babel não faz nada em si mesmo, ele usa plugins instalados para realizar sua magia. Para nós, ser capaz de compilar es6+ códigos, devemos instalar o env preset

Executar npm install @babel/preset-env --save instalar env preset

Aguarde, não digo babel precisa de plugins, assim que o inferno está pré-definido? Bem, uma predefinição é apenas um grupo de plugins, então eu estou certo, babel precisa de um plugin ou pluginS.
Oenv preset é um grupo de plugins que ajudam a compilar versões modernas/futuras do JavaScript (ES2015, ES2016, etc.) em uma versão suportada atualmente do javascript.

Depois de instalar esse pacote, precisamos dizer a Babel,

hey guy, acabei de instalar um conjunto de plugins que quero que você use para a minha compilação.

Nós iria fazer isso através da criação de uma .babelrc arquivo e arquivo contém este trecho de código

{
"presets" :
}

Agora, vá para a linha de comando e tente compilar o nosso test.js arquivo novamente.

Se compiledTest.js arquivo contém o es5 versão de test.js após a compilação é feita, então, que é isso; temos apenas babel, mas se isso não acontecer, então você pode querer verificar se tudo correu bem desde o início.

apenas para confirmação, a sua estrutura de ficheiros deverá ser algo semelhante a isto:

|- node_modules
|- package.json
|- test.js
|- compiledTest.js
|- .babelrc

compilação na altura

por vezes, não quer compilar todos os seus códigos antes de os Executar; só quer que a compilação e execução aconteça ao mesmo tempo. Para isso, você deve usar o comando babel-node. Este comando vem com o pacote babel-cli e é como um substituto para o comando node. Então, em vez de fazer algo assim node ./path/to/file para executar o seu ficheiro, você faria babel-node ./path/to/file para compilar e executar o ficheiro ao mesmo tempo.

em Nota, o babel-o nó não está na sua linha de comando, por padrão, então você pode precisar modificar o script seção do package.json para incluir

"scripts": {
..."babel-node": "./node_modules/.bin/babel-node",
...}

E executar o arquivo como este:

npm run babel-node ./path/to/file

Conclusão

eu escrevi/atualizado este blog com o babel-core na versão 7.2.0, se você descobrir que babel fez algumas alterações recentes na definição de processo em algumas versões posteriores, você pode deixe-me saber ([email protected] para que eu iria atualizar este post, obrigado.