Digamos que cargo una biblioteca varias veces:
<script src="https://unpkg.com/neovis.js@2.0.0-alpha.9"></script> <script src="https://unpkg.com/neovis.js@2.0.0-alpha.9"></script> <script src="https://unpkg.com/neovis.js@2.0.0-alpha.9"></script> <script src="https://unpkg.com/neovis.js@2.0.0-alpha.9"></script> <script src="https://unpkg.com/neovis.js@2.0.0-alpha.9"></script>Compruebo la pestaña Red en la herramienta de desarrollo y veo que solo se carga una vez. Esto tiene sentido, pero me pregunto cómo maneja esto exactamente el motor.
Leí este artículo, Impedir que los archivos JavaScript se carguen varias veces: Michael Kennedy sobre la tecnología , y parece que se cargará varias veces de forma predeterminada. ¿Estoy en lo correcto?
Para su código mostrado, el script https://unpkg.com/neovis.js@2.0.0-alpha.9 se ejecutará 5 veces.
Si se descargará varias veces depende de lo que se envíe como respuesta a la solicitud https://unpkg.com/neovis.js@2.0.0-alpha.9 y de la configuración del navegador.
El servidor puede enviar encabezados ETag o Fecha de modificación en combinación con encabezados de información de política de almacenamiento en caché que le indican al navegador qué hacer si se solicita la URL en otro momento.
Los encabezados pueden decir que un recurso será válido durante un cierto tiempo, por lo que el navegador no necesita realizar más solicitudes durante ese período de tiempo. Sin embargo, también podría decir que el navegador tiene que validar la actualización cada vez que use la última ETag o fecha de modificación recibida.
Todos los principales navegadores, como Firefox, Safari, IE y Opera, almacenarán en caché un archivo Javascript la primera vez que se use, y luego, en las etiquetas de secuencias de comandos posteriores, el navegador usará la copia en caché si está disponible y si no ha caducado. Habiendo dicho eso, el comportamiento de almacenamiento en caché generalmente se puede modificar a través de la configuración del navegador, por lo que no puede confiar en ningún tipo de comportamiento de almacenamiento en caché.
<script src="https://unpkg.com/neovis.js@2.0.0-alpha.9"></script> <script src="https://unpkg.com/neovis.js@2.0.0-alpha.9"></script> <script src="https://unpkg.com/neovis.js@2.0.0-alpha.9"></script> <script src="https://unpkg.com/neovis.js@2.0.0-alpha.9"></script> <script src="https://unpkg.com/neovis.js@2.0.0-alpha.9"></script>Con respecto a la ejecución de los archivos, incluso si los archivos están en caché, puede tener problemas ya que el mismo código se ejecutará cinco veces. Como mínimo, esto hará que el navegador tome más tiempo del necesario y puede producir errores, ya que la mayoría del código JavaScript no está escrito para ejecutarse varias veces. Por ejemplo, puede adjuntar los mismos controladores de eventos varias veces.