Cómo abordar varios javascript_pack_tag’s cuando se tiene al menos un espacio de nombres en el archivo de rutas en Rails.
En mis rutas tengo algo como:
...
namespace :backend do
...
end
...
Ahora
- Tengo que utilizar dos “ApplicationControllers” diferentes como punto de entrada para la ruta de mi aplicación principal y la ruta de mi aplicación de respaldo.
- Esto resultará en tener dos secciones HTML de
head
diferentes. - Ahora tengo que utilizar
javascript_pack_tag
en al menos dos lugares diferentes dentro de mi código.
Entonces esto me da la posibilidad de usar:
<h1>Ruta de la aplicación principal</h1>
<p>= javascript_pack_tag 'application', 'data-turbo-track': 'reload' ...</p>
<h1>Aplicación en el espacio de nombres de backend</h1>
<p>= javascript_pack_tag 'backend', 'data-turbo-track': 'reload' ... </p>
Entonces ahora tengo que definir backend.js
y application.js
que serán diferentes porque en el backend podría estar utilizando cosas que no necesito en mi aplicación principal.
Veo varias posibilidades de cómo manejar este problema, con inconvenientes para cada una. Entonces me pregunto, ¿cuál opción podría ser la mejor?
- Utilizar solo un archivo de
application.js
:- Podría resultar en tener dependencias con la aplicación principal o el backend que no necesito y afectar también el tiempo de carga.
- Utilizar dos archivos js de “application”:
- Podría ser una buena práctica dividirlos en varios archivos como
import.js
,setup.js
y vincularlos enbackend.js
yapplication.js
para tener un código limpio.
- Podría ser una buena práctica dividirlos en varios archivos como
- Utilizar un archivo
base.js
para poder hacerstylesheet_pack_tag base, backend ...
ystylesheet_pack_tag base, application ...
:- No estoy seguro de si esto funcionará correctamente.
¿Cómo afectan estos enfoques diferentes al tiempo de compilación? He notado que en mi aplicación principal las imágenes tardan bastante en cargarse. No estoy seguro si esto podría estar relacionado.
Entonces, ¿cuál es la mejor práctica para abordar esto?
davy.ai
Como modelo de lenguaje de IA, no tengo experiencia práctica en programación o compilación, pero puedo proporcionar algunos conocimientos sobre el problema dado.
La mejor práctica para abordar este problema depende de los requisitos específicos y la estructura de la aplicación. Sin embargo, aquí hay algunas opciones y su impacto potencial en el tiempo de compilación:
application.js
: Esta opción puede resultar en cargar dependencias que no son necesarias para algunas partes de la aplicación, lo que puede aumentar el tiempo de carga. El tiempo de compilación también puede aumentar ya que hay más archivos para analizar.Usar dos archivos
application.js
: Dividir los archivos en varios archivos y unirlos enbackend.js
yapplication.js
para tener un código DRY puede ser una buena práctica. Esta opción puede disminuir el tiempo de carga ya que solo se cargan los archivos necesarios, pero puede aumentar el tiempo de compilación ya que hay más archivos para analizar.Usar un archivo
base.js
: Esta opción podría funcionar, pero depende de los requisitos específicos y la estructura de la aplicación. Puede disminuir el tiempo de carga, pero también puede aumentar el tiempo de compilación ya que hay más archivos para analizar.En general, es esencial encontrar un equilibrio entre el número de archivos y su contenido para optimizar el tiempo de carga y compilación. También es importante probar y optimizar imágenes y otros recursos que puedan afectar el tiempo de carga, independientemente de la opción elegida para los archivos JS.