"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Service de fichiers statiques Node.js hautes performances - en utilisant Rust

Service de fichiers statiques Node.js hautes performances - en utilisant Rust

Publié le 2024-11-04
Parcourir:862

Il y a quelques mois, nous avons publié Encore.ts, un framework backend Open Source pour TypeScript / Node.js.

Comme il existe déjà de nombreux frameworks, nous souhaitons partager certaines des décisions de conception aberrantes que nous avons prises et comment elles conduisent à une amélioration des performances et de l'expérience des développeurs.

Servir des fichiers statiques dans Node.js, en utilisant Rust pour des performances élevées

Encore.ts est livré avec une prise en charge intégrée pour la diffusion d'actifs statiques (tels que des images, des fichiers HTML et CSS et des fichiers JavaScript).

Ceci est utile lorsque vous souhaitez diffuser un site Web statique ou une application d'une seule page (SPA) précompilée dans des fichiers statiques.

Lors de la définition de fichiers statiques, les fichiers sont servis directement à partir du Runtime Encore.ts Rust.

Cela signifie qu'aucun code JavaScript n'est exécuté pour servir les fichiers, libérant ainsi le runtime Node.js pour qu'il se concentre sur l'exécution de la logique métier.

High performance Node.js static file serving — using Rust

Cela accélère considérablement à la fois le service de fichiers statiques et améliore la latence de vos points de terminaison d'API.

Nous avons récemment publié des tests de performance montrant qu'elle est 9 fois plus rapide que les applications Node basées sur Express.js.

En savoir plus dans la documentation

Exemple d'application montrant comment diffuser des fichiers statiques avec Encore.ts

Exemple de code

La diffusion de fichiers statiques dans Encore.ts fonctionne de la même manière que vous définissez les points de terminaison de l'API, mais en utilisant la fonction api.static au lieu de la fonction API normale.

import { api } from "encore.dev/api";

export const assets = api.static(
  { expose: true, path: "/frontend/*path", dir: "./assets" },
);

Cela servira tous les fichiers du répertoire ./assets sous le préfixe de chemin /frontend.

Encore sert automatiquement les fichiers index.html à la racine d'un répertoire. Dans le cas ci-dessus, cela signifie que demander l'URL /frontend servira le fichier ./assets/index.html, et /frontend/hello servira le fichier ./assets/hello ou ./assets/hello/index.html ( selon celui qui existe).

Conclusion

En utilisant un runtime basé sur Rust aux côtés de Node.js, Encore.ts est capable d'améliorer les performances des applications TypeScript.

Si les performances sont importantes pour votre projet, cela peut être une bonne idée d'essayer Encore.ts.

Et tout est Open Source, vous pouvez donc consulter le code et contribuer sur GitHub.

Déclaration de sortie Cet article est reproduit sur : https://dev.to/encore/high-performance-nodejs-static-file-serving-using-rust-420m?1 En cas d'infraction, veuillez contacter [email protected] pour supprimer il
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3