Búsqueda de sitios web

reactjs - ¿Es seguro mezclar código de cliente y servidor en NextJS?


Disfrutando usar NextJs por su capacidad de gestionar fácilmente el código del cliente y del servidor en el mismo framework.

Obviamente sé que NextJS separa el código que sabe cómo separar (por ejemplo getServerSideProps), pero ¿es seguro tener variables/ayudantes de cliente y servidor en el mismo archivo?

Por ejemplo, digamos que tengo un archivo llamado constants.ts ubicado en algún lugar del código. Si ese archivo contiene algo como:

/* constants.ts */

export const REALLY_SECRET_KEY = 'XXX'

export const NAME_OF_MY_SITE_FOR_USE_IN_FRONTEND_CODE = 'Mixing it Up'

¿NextJS hace un trabajo razonablemente bueno evitando filtrar la REALLY_SECRET_KEY siempre y cuando no la importe desde una parte del código destinada al cliente? Es decir, ¿qué tan "seguro" es su tree-shaking?

Soy consciente de que hay razones prácticas para mantener las cosas separadas; tanto desde un punto de vista organizativo como para evitar errores al importar. Pero tengo curiosidad por saber si esto sería un problema serio de seguridad.

Respuesta #1

Sí, hace un buen trabajo, ¡pero ten cuidado con los datos sensibles! Siempre sabe lo que haces. Esta herramienta puede ayudar. Solo copia tu código y mira qué llega al paquete del cliente.