Рубрики
Без рубрики

Представляем Sunder: Структура для работников CloudFlare

Сегодня я выпустил Sunder, структуру для служебных работников, таких как работники CloudFlare. Это … Tagged с помощью сервера, JavaScript, TypeScript, WebDev.

Сегодня я выпустил Sunder, структуру для служебных работников, таких как Работники Cloudflare . Это позволяет вам создавать тестируемые API и веб -сайты так же, как и вы, используя node.js’s Коа или Экспресс рамки.

Я строю его, чтобы поцарапать свой собственный зуд – я писал то же самое 4 раза с нуля для проектов CloudFlare Worker, что это сделало бы большую часть этого шаблона ненужным. Сандер «экспресс» для работников CloudFlare.

Sunder разработан, чтобы быть минимальным, тестируемым и простым для понимания. Это всего лишь несколько сотен строк кода.

Небольшой пример

import {Sunder, Router} from "sunder";

const app = new Sunder();
const router = new Router();

// Example route with a named parameter
router.get("/hello/:username", ({response, params}) => {
    response.body = `Hello ${params.username}`;
    response.headers.set("content-type", "text/plain");
});

app.use(router.middleware);

addEventListener('fetch', (event) => {
    app.handleEvent(event);
});

Это полный пример, свяжите его, используя такой инструмент, как Esbuild Через 50 мс, и он готов к использованию у работников CloudFlare.

Все промежуточное программное обеспечение

Вдохновленный Коа и Эликсирским платежом, в Сандере все это промежуточное программное обеспечение Анкет

Функция промежуточного программного обеспечения принимает два аргумента: запрос Контекст и функция, которая вызывает следующее промежуточное программное обеспечение. Пример объясняет это лучше всего:

async function responseTimeMiddleware(ctx, next) {
    const start = Date.now();
    await next();
    const ms = Date.now() - start;
    ctx.response.headers.set('X-Response-Time', `${ms}ms`);    
}

Если вы использовали Коа В прошлом это должно выглядеть очень знакомо. Используя асинхро Ключевое слово мы можем ждет асинхронные задачи и избегайте обратного вызова ада.

Составив этот основной строительный блок, мы можем элегантно обработать любой запрос.

Строгие маршруты

TypeScript недавно выпустила поддержку Шаблон буквальных типов . Это позволяет нам строгим вводить параметры пути маршрута и улавливать общие ошибки.

Примечание. Вы также можете использовать Sunder без TypeScript, но вы пропустите проверку этого типа.

Так могу ли я это использовать?

Да, теперь вы можете установить Sunder ( npm i sunder ) и использовать его в своих проектах, и все это открытый исходный код.

Считайте это бета -версией. Все изменится, документы неполны, количество доступного предварительно написанного промежуточного программного обеспечения невелико, но все проекты где-то начинаются. Взносы приветствуются!

Оригинал: “https://dev.to/gzuidhof/introducing-sunder-a-framework-for-cloudflare-workers-1hdg”