Aller au contenu principal

13 octobre 2023

Les 24h de la loose...

Les 24h de la loose...

Ouf.

J'ai réussi à remettre mon site en ligne.

Note à moi-même : la prochaine fois que je fais un copier-coller d'un bout de code sans le relire, je me colle au coin.

Pour mémoire, et si cela arrive à d'autres : pour certaines opérations, j'utilise des web workers. Pour cela, j'avais installé [gatsby-plugin-workerize-loader](https://www.gatsbyjs.com/plugins/gatsby-plugin-workerize-loader/). Cela fonctionnait, même si c'était annoncé pour Gatsby 3 et que je tourne sur le 5. Le seul problème était qu'il me fallait "cleaner" le cache avant de lancer le serveur de dev  et peut-être bien un message d'erreur durant la phase de compilation. Bref, rien de bien génant, mais pour être sûr, j'ai cherché à me passer de ce plugin.

J'ai trouvé cet [article ](https://dev.to/evanwinter/using-web-workers-in-a-gatsby-project-3ca8)qui m'a semblé intéressant.

J'ai implémenté le code proposé, et joie, ça fonctionnait. Tout fiérot, je balance en ligne.  Et là, le build, sans souci. Je vais tester - et là, le drame. Page blanche. et un message d'erreur qui m'indique qu'il n'arrive pas à charger un chunk.

Le début de l'enfer.

J'ai repris mes derniers commit, pour voir d'où cela pouvait venir, sans rien voir, forcément.

J'ai fait un update des dépendances, au cas où.

J'ai fouillé plein d'autres trucs... Sans succès pendant trop longtemps.

 Bref, la conclusion est que dans le bout de code que j'ai repris :

config.output.globalObject = 'this'

Et bien, arrivé dans le navigateur, le "this" ne voulait plus dire grand chose, puisque la clé recherchée se trouvait dans l'objet "window"...

 Voici la correction que j'ai mis en œuvre :

config.output.globalObject = 'globalThis'

6 lettres de différence pour plus de 24h de site HS... 😨



Image par Pavlo de Pixabay

Les 24h de la loose... - Blog