¿Hay una manera simple de lograr esto? Actualmente he vuelto a ejecutar la compilación cada vez para ver una actualización.
Probé la solución vinculada aquí , pero aún requiere que la construya manualmente cada vez.
Traté de usar este paquete Chrome Extension Hot Reload pero, a pesar de copiar el código del sitio después de instalarlo, dice que HotReload no se exporta del paquete, por lo que ni siquiera puedo ejecutar start o connect.
Dediqué unos días a resolver este problema, creé un repositorio por rechazo de CRA, funciona con Manifest V3 y script de contenido.
create-react-app ha hecho todo lo anterior.
Finalmente, use la comunicación entre el fondo y el contenido, chrome.runtime.reload puede recargar crx cuando se cambia el contenido.
Aquí hay un ejemplo: cra-crx-boilerplate
Si está utilizando WebPack, puede lograrlo en unos pocos pasos (sin instalar ningún complemento especial):
En la configuración de su WebPack, configure su servidor de desarrollo para escribir archivos en el disco, en lugar de servirlos desde la memoria:
devServer: { devMiddleware: { writeToDisk: true, }, }Y configura tu salida donde le hayas dicho a Chrome que cargue tu extensión desde:
output: { path: 'path/to/build/', },Asegúrese de que todos los archivos HTML que desea recargar en caliente pasen por WebPack y no se copien estáticamente en la carpeta de destino. Puede generar esos archivos HTML con html-webpack-plugin :
entry: { index: 'path/to/index.js', } plugins: { new HtmlWebpackPlugin({ filename: 'index.html', chunks: ['index'], // Should correspond to the entry point name }), }La respuesta corta es no si usa Manifest V3.
No depende del marco, sino más bien de Chrome y cómo administra las extensiones.
Puede leer un poco más sobre esto aquí: https://groups.google.com/a/chromium.org/g/chromium-extensions/c/pYtdXH0f46E?pli=1