En el mundo del desarrollo web, Ruby on Rails se ha mantenido como uno de los frameworks más populares para construir aplicaciones web robustas y escalables. Sin embargo, la elección de herramientas para el frontend puede ser un desafío. En este artículo, te guiaré a través del proceso de configuración de un proyecto de Rails utilizando Esbuild como empaquetador de módulos y TailwindCSS como framework de diseño. ¡Vamos a empezar!
Esbuild es un empaquetador de módulos extremadamente rápido y eficiente que permite compilar y agrupar archivos JavaScript y CSS. Su velocidad y simplicidad lo han convertido en una opción popular entre los desarrolladores que buscan optimizar su flujo de trabajo.
TailwindCSS es un framework de CSS que permite crear diseños personalizados de manera rápida y eficiente. A diferencia de otros frameworks que ofrecen componentes predefinidos, TailwindCSS se basa en clases utilitarias, lo que te permite construir interfaces únicas sin tener que salir de tu HTML.
Antes de comenzar, asegúrate de tener instalados los siguientes elementos en tu máquina:
Para comenzar, abre tu terminal y ejecuta el siguiente comando para crear un nuevo proyecto de Rails:
rails new mi_proyecto --skip-javascript
La opción --skip-javascript
se utiliza para evitar que Rails genere archivos JavaScript por defecto, ya que utilizaremos Esbuild para manejar esto más adelante.
Una vez que hayas creado tu proyecto, navega a la carpeta del proyecto:
cd mi_proyecto
Ahora, instala Esbuild utilizando Yarn o npm. Si prefieres Yarn, ejecuta:
yarn add esbuild --dev
Si prefieres npm, ejecuta:
npm install esbuild --save-dev
Ahora que Esbuild está instalado, necesitamos configurarlo. Crea un archivo llamado esbuild.config.js
en la raíz de tu proyecto:
touch esbuild.config.js
Abre el archivo y agrega la siguiente configuración básica:
const esbuild = require('esbuild');
esbuild.build({
entryPoints: ['./app/javascript/application.js'],
bundle: true,
outdir: './app/assets/builds',
minify: true,
sourcemap: true,
watch: process.argv.includes('--watch'),
}).catch(() => process.exit(1));
Esta configuración le dice a Esbuild que tome application.js
como punto de entrada, agrupe los archivos y los coloque en la carpeta app/assets/builds
.
Ahora, crea el archivo application.js
en la carpeta app/javascript
:
mkdir -p app/javascript
touch app/javascript/application.js
Abre application.js
y agrega el siguiente código:
import './stylesheets/application.css';
Para instalar TailwindCSS, primero necesitas instalarlo a través de npm o Yarn. Ejecuta uno de los siguientes comandos:
yarn add tailwindcss postcss autoprefixer
npm install tailwindcss postcss autoprefixer
Una vez que TailwindCSS esté instalado, inicializa la configuración de TailwindCSS ejecutando:
npx tailwindcss init
Esto creará un archivo tailwind.config.js
en la raíz de tu proyecto. Abre este archivo y configura el contenido para que TailwindCSS pueda purgar el CSS no utilizado en producción:
module.exports = {
content: [
'./app/**/*.html.erb',
'./app/helpers/**/*.rb',
'./app/javascript/**/*.js',
],
theme: {
extend: {},
},
plugins: [],
};
Ahora, crea un archivo de configuración para PostCSS llamado postcss.config.js
en la raíz de tu proyecto:
touch postcss.config.js
Abre el archivo y agrega el siguiente contenido:
module.exports = {
plugins: {
tailwindcss: {},
autoprefixer: {},
},
};
Ahora, crea un archivo CSS donde importarás TailwindCSS. Crea la carpeta stylesheets
dentro de app/javascript
y luego crea el archivo application.css
:
mkdir -p app/javascript/stylesheets
touch app/javascript/stylesheets/application.css
Abre application.css
y agrega las siguientes líneas para importar TailwindCSS:
@tailwind base;
@tailwind components;
@tailwind utilities;
Ahora que todo está configurado, puedes compilar tus archivos utilizando Esbuild. Ejecuta el siguiente comando en tu terminal:
node esbuild.config.js --watch
Esto iniciará Esbuild en modo de vigilancia, lo que significa que recompilará automáticamente tus archivos cada vez que realices un cambio.
Para que Rails reconozca los archivos generados por Esbuild, necesitas agregar el siguiente código en tu archivo app/views/layouts/application.html.erb
dentro de la sección <head>
:
<%= stylesheet_link_tag 'application', 'data-turbo-track': 'reload' %>
<%= javascript_include_tag 'application', 'data-turbo-track': 'reload' %>
Ahora que todo está configurado, puedes iniciar tu servidor Rails:
rails server
Abre tu navegador y dirígete a http://localhost:3000
. Deberías ver la página de inicio de Rails. Para probar TailwindCSS, puedes agregar algunas clases de Tailwind a tu archivo app/views/welcome/index.html.erb
:
<h1 class="text-3xl font-bold underline">¡Hola, TailwindCSS!</h1>
¡Felicidades! Has configurado con éxito un proyecto de Rails utilizando Esbuild y TailwindCSS. Ahora puedes disfrutar de un flujo de trabajo más rápido y de un diseño más flexible. A medida que continúes desarrollando tu aplicación, considera explorar más sobre las características avanzadas de TailwindCSS y las optimizaciones que Esbuild puede ofrecer.
Si tienes alguna pregunta o necesitas más ayuda, no dudes en dejar un comentario. ¡Feliz codificación!
© 2024 RailsInsights. All rights reserved.