¿Es posible import.meta.hot.accept() una dependencia de componente Svelte? Me gustaría actualizar las cosas en el componente principal cuando se cambia el componente secundario.
Este experimento rápido muestra que los módulos dependientes se pueden aceptar a través de la API Vite HMR , pero no los módulos Svelte. Se llama a la devolución de llamada para el módulo Vanilla JS, pero no a la devolución de llamada para el módulo Svelte:
<script> import js from './js.js' import Svelte from './Svelte.svelte'; if (import.meta.hot) { import.meta.hot.accept('./js.js', () => { console.log('hot.accept js.js'); }) import.meta.hot.accept('./Svelte.svelte', () => { console.log('hot.accept Svelte.svelte'); }) } </script>Salida de la consola de desarrollo:
## Actualice el archivo js.js: caliente.aceptar js.js [vite] actualizado en caliente: /src/js.js a través de /src/App.svelte ## Actualice el archivo Svelte.svelte: [vite] actualizado en caliente: /src/Svelte.svelte
Creo que el ID del módulo Svelte es diferente o la devolución de llamada está siendo ignorada/anulada por svelte-hmr .