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.