Una de las cosas sobre Remix es que, aunque tiene opiniones fuertes, tiene algunas escotillas de escape que te permiten añadir tus propias personalizaciones. En este caso, es la configuración de rutas donde puedes añadir tus propias rutas además de la convención por defecto.
Dado que Remix asume que los archivos en la carpeta de rutas utilizan la convención por defecto, necesitarás decirle a Remix que ignore todos los archivos en la carpeta de rutas. Finalmente, llama a la función FlatRoutes para escanear la carpeta utilizando la nueva convención FlatRoutes. En el futuro, podrás especificar qué convención quieres utilizar directamente a través del archivo de configuración de Remix.
RemixFlatRoutes cambia algunas de las convenciones de nombres de archivos a las que estamos acostumbrados. Por ejemplo, para los diseños sin ruta, utiliza un solo guion bajo en lugar de un prefijo de doble guion bajo. El prefijo de parámetros sigue siendo el mismo, el signo del dólar, pero te mostraré cómo podemos cambiar eso más adelante. En lugar de usar carpetas para las rutas, el nombre del archivo incluye toda la ruta, así que utiliza el punto en lugar de la barra para separar los segmentos de la URL. Y finalmente, para manejar escenarios como nuestra ruta de edición de usuario, el sufijo de guion bajo especifica que el segmento no es un diseño porque no tiene una salida. Lo demostraré más adelante.
Remix FlatRoute admite dos configuraciones, archivos planos y carpetas planas. Los archivos planos se utilizarán normalmente para aplicaciones más sencillas ya que todo está en el nombre del archivo y no hay carpetas. Aquí está el mismo ejemplo que utilizamos antes, pero utilizando la convención de archivos planos. Observa que no hay carpetas. Toda la estructura de la URL es visible de un vistazo sin tener que profundizar en carpetas separadas. Todavía tenemos que identificar la ruta de índice, en este caso, usuarios barra índice. Observa cómo nombramos el archivo usuarios punto índice. El guion bajo inicial aquí es simplemente para ordenar la ruta de índice antes que las otras rutas hijas.
Como mencioné, estamos utilizando puntos en lugar de carpetas para separar las rutas. Pero sin carpetas, ¿cómo sabe Remix cuál es el diseño padre? Para determinar el diseño padre, Remix Flat Routes encuentra el prefijo que coincide más largo, y eso determina el diseño padre. Aquí vemos que el prefijo público de público punto acerca coincide con el diseño TSX público. Lo mismo con usuarios. ¿Recuerdas en el ejemplo anterior, donde no queríamos que la ruta de edición se anidara bajo el ID de usuario? Allí, utilizamos puntos en el nombre del archivo para lidiar con ello. Pero, ¿cómo lidias con eso cuando todo utiliza puntos? Remix Flat Route te permite usar un guion bajo final en una ruta padre para especificar que esto no es un diseño. Como puedes ver en la ruta de edición, el ID de usuario no debe ser tratado como un diseño padre, de ahí el guion bajo. Esto asegura que los usuarios que el prefijo de ID de usuario no coincida con esa ruta. Y Remix buscará entonces en el siguiente segmento un diseño que coincida, que es el diseño de usuarios.
Aunque Flat File simplifica considerablemente la convención de enrutamiento, lo hace con algunas desventajas.
Comments