Minifier lib js

Une des limites fondamentales d'une carte Micropython est d'une manière générale la RAM disponible.

Pour obtenir de bon résultat, il est nécessaire de ne pas la solliciter au-delà de ce qui est disponible et ceci est critique notamment lors de l'ouverture de fichier de librairies javascript sur un serveur embarqué.

Une solution pour optimiser les choses consiste n'utiliser que des librairies légères, de l'ordre de quelques 30 à 40 Ko maximum.

Et il est par ailleurs possible de réduire leur taille en les minifiant. Voici la procédure possible :

Note

Cette procédure n'est pas du tout propre à micorpython mais est générale à l'optimisation des sites webs.

Minifier sous Gnu / Linux

Voir : https://github.com/tdewolff/minify/tree/master/cmd/minify

sudo apt-get install minify

Dans le répertoire où se trouve le fichier, on fera :

minify fichier.js -o fichier.min.js

On obtient une réduction de 50% de taille environ.

Exemple : smoothie.js (44Kb) devient smoothie.min.js (19Kb)

Note

Typiquement, on peut limiter l'usage en RAM en lisant un fichier ligne à ligne ou bloc par bloc, mais cela est plutôt lent en général, et il vaut mieux l'ouvrir d'un coup, mais cela veut dire chargement en RAM, au moins de façon transitoire.

Des outils en ligne

Il existe de nombreux outils en ligne pour minifier une librairie Javascript :

https://blog.bitsrc.io/10-javascript-compression-tools-and-libraries-for-2019-f141a0b15414

Un qui donne un très bon taux de réduction est : https://jscompress.com/

Exemple : smoothie.js (44Kb) devient smoothie.min.js (13Kb) (presque 70%)