A cadeia de ferramentas do Babel é incrível. Usamos o Babel para escrever JavaScript ES6 bem antes de os recursos do ES6 chegarem aos navegadores, nós o usamos para analisar JavaScript e escrever JSX, e muito mais. O Babel pode fazer praticamente qualquer coisa com a linguagem JavaScript e acabei de saber de outro uso para a cadeia de ferramentas do Babel: babili, o minificador de JavaScript com reconhecimento de ES6+.
Na época de sua criação, muitos outros minificadores de JavaScript não eram capazes de fazer a minificação do ES6, mas quando o senhor tem um analisador incrível e com visão de futuro como o Babel, criar um minificador com reconhecimento do ES6+ se torna muito mais fácil.
Uso do babili na linha de comando
Prefiro usar o babili na linha de comando para fazer uma minificação rápida:
// Sample source code: class Mangler { constructor(program) { this.program = program; } } new Mangler(); // without this it would just output nothing since Mangler isn't used // Before: // ES2015+ code -> Babel -> Babili/Uglify -> Minified ES5 Code var a=function a(b){_classCallCheck(this,a),this.program=b};new a; // After: // ES2015+ code -> Babili -> Minified ES2015+ Code class a{constructor(b){this.program=b}}new a;
Observe que babili não não transpile o JavaScript ES5 antes de minificá-lo – o senhor precisará usar uma excelente ferramenta como lebab para obter o ES6+ a partir do ES5. Supondo que o senhor tenha o ES6 em seu arquivo de código-fonte, notará que todo o seu código foi elegantemente minificado pelo babili!
Uso do babili via Node.js
Por ser um analisador de JavaScript implementado em JavaScript, o babili também está disponível para uso por meio de APIs do Node.js. Há também dezenas de plug-ins do babili que o senhor pode usar para personalizar a minificação. Consulte a documentação do benchmarks impressionantes e informações de uso do Node.js.
O Babel teve tanto impacto na escrita de JavaScript para a Web quanto qualquer outra estrutura JavaScript popular e continuará a ter no futuro. Se o senhor ainda não explorou o cadeia de ferramentas do Babel e sua infinidade de plug-ins, reserve um tempo para dar uma olhada neles. Poder escrever e experimentar os recursos de ponta da linguagem JavaScript antes que eles cheguem aos navegadores é uma vantagem para qualquer desenvolvedor, seja para conseguir um emprego ou simplesmente para mantê-lo atualizado com a linguagem.
Rolar IFRAMEs no iOS
Durante muito tempo, os desenvolvedores ficaram frustrados com o fato de os elementos com estouro não poderem ser rolados na página do Safari do iOS. Para o meu blog, isso era particularmente frustrante porque eu exibia minhas demonstrações em IFRAMEs com sandbox na parte superior do próprio artigo, de modo a não afetar a…