"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Serviço de arquivo estático Node.js de alto desempenho - usando Rust

Serviço de arquivo estático Node.js de alto desempenho - usando Rust

Publicado em 2024-11-04
Navegar:896

Há alguns meses, lançamos o Encore.ts — uma estrutura de back-end de código aberto para TypeScript/Node.js.

Como já existem muitas estruturas por aí, queremos compartilhar algumas das decisões de design atípicas que tomamos e como elas levam a um melhor desempenho e experiência do desenvolvedor.

Servindo arquivos estáticos em Node.js, usando Rust para alto desempenho

Encore.ts vem com suporte integrado para servir ativos estáticos (como imagens, arquivos HTML e CSS e arquivos JavaScript).

Isso é útil quando você deseja veicular um site estático ou um aplicativo de página única (SPA) que foi pré-compilado em arquivos estáticos.

Ao definir arquivos estáticos, os arquivos são servidos diretamente do Encore.ts Rust Runtime.

Isso significa que nenhum código JavaScript é executado para servir os arquivos, liberando o tempo de execução do Node.js para se concentrar na execução da lógica de negócios.

High performance Node.js static file serving — using Rust

Isso acelera drasticamente a veiculação de arquivos estáticos, além de melhorar a latência dos endpoints da API.

Publicamos recentemente benchmarks mostrando como ele é 9x mais rápido do que aplicativos Node baseados em Express.js.

Saiba mais na documentação

Exemplo de aplicativo mostrando como veicular arquivos estáticos com Encore.ts

Exemplo de código

Servir arquivos estáticos no Encore.ts funciona de maneira semelhante à definição de endpoints de API, mas usando a função api.static em vez da função API normal.

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

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

Isso servirá todos os arquivos no diretório ./assets sob o prefixo do caminho /frontend.

O Encore fornece automaticamente arquivos index.html na raiz de um diretório. No caso acima, isso significa que a solicitação da URL /frontend servirá o arquivo ./assets/index.html, e /frontend/hello servirá o arquivo ./assets/hello ou ./assets/hello/index.html ( o que existir).

Concluindo

Ao usar um tempo de execução baseado em Rust junto com Node.js, Encore.ts é capaz de melhorar o desempenho de aplicativos TypeScript.

Se o desempenho é importante para o seu projeto, pode ser uma boa ideia experimentar o Encore.ts.

E é tudo Open Source, então você pode conferir o código e contribuir no GitHub.

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/encore/high-performance-nodejs-static-file-serving-using-rust-420m?1 Se houver alguma violação, entre em contato com [email protected] para excluir isto
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3