Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Let's make assets management great again

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

Let's make assets management great again

A Asset Pipeline do Rails parece um tanto defasada frente às novas tecnologias de front-end e o Webpack pode servir como uma ótima alternativa para lidar com os assets estáticos das nossas aplicações Rails. Nesta talk, veremos como podemos integrar o Webpack com Rails e tornar nosso ambiente de desenvolvimento front-end mais modularizado e atualizado com as mais modernas tecnologias.

Avatar for Bernardo Gurgel Filho

Bernardo Gurgel Filho

September 24, 2016
Tweet

More Decks by Bernardo Gurgel Filho

Other Decks in Programming

Transcript

  1. Rails 3.1 Mudanças introduzidas • HTTP Streaming • jQuery por

    padrão • Migrations reversíveis • Asset Pipeline
  2. Rails 5.0 Mudanças Introduzidas • Action Cable • API Mode

    • Turbolinks 5 • Sprockets 3 • …
  3. Front-end Ferramentas • Browserify (2012) • Grunt (2013) • Broccoli

    (2013) • PostCSS (2013) • Babel (2014) • Gulp (2014) • Webpack (2014) • Rollup (2015)
  4. Asset Pipeline Downsides • Ausência de um gerenciador de pacotes

    • Baixa modularização • Difícil organização dos arquivos de manifestos • Pipelines restritas
  5. JS JS JS JS JS CSS CSS CSS CSS CSS

    CSS JPG PNG PNG SVG JPG JPG JPG Asset Pipeline
  6. Webpack Principais Características • Todo asset estático pode ser um

    módulo • Code splitting • Alta customização • Integração com npm • Adequado para grandes projetos
  7. webpack.config.js alguns loaders • babel-loader • sass-loader • coffee-loader •

    typescript-loader • handlerbars-loader • image-loader
  8. webpack.config.js configurando plugins var UglifyJsPlugin = require(‘webpack’).optimize.UglifyJsPlugin; var DashboardPlugin =

    require(‘webpack- dashboard/plugin'); module.exports = { plugins: [ new UglifyJsPlugin(), new DashboardPlugin() ] };
  9. Rails e Webpack Nossa Pipeline • Pré-processar arquivos • SASS

    • ES2015 (Babel) • React • Gerar SourceMaps • Comprimir e Minificar • Gerar fingerprints
  10. Rails e Webpack estrutura de diretório app-rails |- … |--

    public | |- assets | +- … +- webpack |- images |- scripts |- styles |- scripts.js +- styles.scss
  11. Rails e Webpack rails helpers • Incluir os assets compilados

    em nossos layouts • Checar se o webpack está rodando em desenvolvimento