Con Bower podemos gestionar las dependencias de las librerías que usemos en el frontend
y al igual que con el Gemfile
actualizar las librerías, bloquearlas en una versión concreta y mantener sus dependencias.
Bower por defecto instalará las dependencias en el directorio raíz, en el caso de Rails puede ser mejor moverlo a vendor/assets/bower_components
pero no es imprescindible.
// .bowerrc
{
"directory": "vendor/assets/bower_components"
}
Luego le decimos a Rails que cargue los assets de Bower, en las últimas versiones de Rails tenemos el fichero config/initializers/assets.rb
, en proyectos antiguos podemos usar el fichero config/application.rb
.
# config/initializers/assets.rb
Rails.application.config.assets.paths << Rails.root.join('vendor', 'assets', 'bower_components')
# config/application.rb
class Application < Rails::Application
# ...
config.assets.paths << Rails.root.join('vendor', 'assets', 'bower_components')
# ...
end
Una vez configurado podemos empezar a usarlo, por ejemplo vamos a añadir Bootstrap a nuestro proyecto.
$ bower init # Y completa los datos que te pide
$ bower install bootstrap -S
Para usar los assets instalados debemos añadirlos a algún fichero manifiest
como cualquier otro asset
.
# app/assets/javascripts/application.js
#= require bootstrap
// app/assets/stylesheets/application.css
*= require bootstrap/dist/css/bootstrap