«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Высокопроизводительное обслуживание статических файлов Node.js — с использованием Rust

Высокопроизводительное обслуживание статических файлов Node.js — с использованием Rust

Опубликовано 4 ноября 2024 г.
Просматривать:812

Несколько месяцев назад мы выпустили Encore.ts — серверную среду с открытым исходным кодом для TypeScript / Node.js.

Поскольку уже существует множество фреймворков, мы хотим поделиться некоторыми необычными дизайнерскими решениями, которые мы приняли, и тем, как они приводят к повышению производительности и улучшению качества разработки.

Обслуживание статических файлов в Node.js с использованием Rust для повышения производительности

Encore.ts имеет встроенную поддержку обслуживания статических ресурсов (таких как изображения, файлы HTML и CSS, а также файлы JavaScript).

Это полезно, если вы хотите обслуживать статический веб-сайт или одностраничное приложение (SPA), предварительно скомпилированное в статические файлы.

При определении статических файлов они обслуживаются непосредственно из среды выполнения Encore.ts Rust.

Это означает, что для обслуживания файлов не выполняется код JavaScript, что позволяет среде выполнения Node.js сосредоточиться на выполнении бизнес-логики.

High performance Node.js static file serving — using Rust

Это значительно ускоряет как обработку статических файлов, так и уменьшает задержку конечных точек API.

Недавно мы опубликовали тесты, показывающие, что он в 9 раз быстрее, чем приложения Node на базе Express.js.

Подробнее читайте в документации

Пример приложения, показывающий, как обслуживать статические файлы с помощью Encore.ts

Пример кода

Обслуживание статических файлов в Encore.ts работает аналогично определению конечных точек API, но вместо обычной функции API используется функция api.static.

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

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

Это будет обслуживать все файлы в каталоге ./assets с префиксом пути /frontend.

Encore автоматически размещает файлы index.html в корне каталога. В приведенном выше случае это означает, что запрос URL-адреса /frontend будет обслуживать файл ./assets/index.html, а /frontend/hello будет обслуживать файл ./assets/hello или ./assets/hello/index.html ( в зависимости от того, что существует).

Подведение итогов

Используя среду выполнения на основе Rust вместе с Node.js, Encore.ts может повысить производительность приложений TypeScript.

Если для вашего проекта важна производительность, возможно, стоит попробовать Encore.ts.

И все это с открытым исходным кодом, так что вы можете проверить код и внести свой вклад на GitHub.

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/encore/high-performance-nodejs-static-file-serving-using-rust-420m?1. Если есть какие-либо нарушения, свяжитесь с [email protected], чтобы удалить это
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3