mitä Baabel on?

Babel on JavaScript-kääntäjä

Babel on työkaluketju, jota käytetään pääasiassa ECMAScript 2015+ – koodin muuntamiseen taaksepäin yhteensopivaksi versioksi JavaScriptistä nykyisissä ja vanhemmissa selaimissa tai ympäristöissä. Tässä tärkeimmät asiat, joita Babel voi sinulle tehdä:

  • Muunna syntaksi
  • Polyfill-ominaisuudet, jotka puuttuvat kohdeympäristöstäsi (through @babel/polyfill)
  • Source code transformations (codemods)
  • ja paljon muuta! (tsekkaa näistä videoista inspiraatiota)
// Babel Input: ES2015 arrow function.map((n) => n + 1);// Babel Output: ES5 equivalent.map(function(n) { return n + 1;});

mahtava opetusohjelma kääntäjille, tsekkaa-super-tiny-kääntäjä, joka myös kertoo, miten Babel itse toimii korkealla tasolla.

ES2015 and beyond

Babelilla on tuki JavaScriptin viimeisimmälle versiolle syntaksimuuntajien kautta.

näiden liitännäisten avulla voit käyttää uutta syntaksia juuri nyt odottamatta selaintukea. Tutustu käyttöoppaaseen päästäksesi alkuun.

JSX ja React

Babel voivat muuntaa JSX-syntaksin! Tutustu meidän React preset päästä alkuun. Käytä sitä yhdessä babel-sublime-paketin kanssa tuodaksesi syntaksin korostuksen aivan uudelle tasolle.

voit asentaa tämän esiasetuksen kanssa

npm install --save-dev @babel/preset-react

ja lisätä @babel/preset-react Baabelin asetuksiin.

export default React.createClass({ getInitialState() { return { num: this.getRandomNumber() }; }, getRandomNumber() { return Math.ceil(Math.random() * 6); }, render() { return <div> Your dice roll: {this.state.num} </div>; }});

Learn more about JSX

Type Annotations (Flow and TypeScript)

Babel can strip out type annotations! Tutustu joko Flow-esiasetukseen tai TypeScript-esiasetukseen päästäksesi alkuun. Muista, että Babel ei tee tyyppitarkastusta; sinun on silti asennettava ja käytettävä Flow-tai TypeScript-tyyppisiä tarkistuksia.

voit asentaa flow-esiasetuksen

npm install --save-dev @babel/preset-flow
// @flowfunction square(n: number): number { return n * n;}

tai typescript-esiasetuksen

npm install --save-dev @babel/preset-typescript
function Greeter(greeting: string) { this.greeting = greeting;}

Lue lisää Flow ’ sta ja konekirjoituksesta

liitännäinen

Babel on rakennettu liitännäisistä. Säveltää oma muutos putki olemassa olevia plugins tai kirjoittaa oman. Helposti käyttää joukko plugins käyttämällä tai luomalla esiasetuksen. Learn more →

luo liitännäinen lennossa astexplorer.net tai käytä generator-babel-plugin luoda plugin malli.

// A plugin is just a functionexport default function ({types: t}) { return { visitor: { Identifier(path) { let name = path.node.name; // reverse the name: JavaScript -> tpircSavaJ path.node.name = name.split('').reverse().join(''); } } };}

Debuggable

Source map support, joten voit debugata kootun koodin helposti.

Spec-yhteensopiva

Babel yrittää pysyä uskollisena ECMAScript-standardille niin paljon kuin kohtuudella mahdollista. Se voi myös olla erityisiä vaihtoehtoja olla enemmän spec yhteensopiva kuin tradeoff suorituskykyä.

kompakti

Babel yrittää käyttää mahdollisimman vähän koodia ilman riippuvuutta kookkaasta juoksuajasta.

Tämä voi olla vaikea tehdä tapauksissa, ja on olemassa ”löysä” vaihtoehtoja tiettyjä muunnoksia, jotka voivat tinkiä specc mukautuvuus luettavuus, Tiedoston koko, ja nopeus.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *