← Cloudflare Pages / pages / functions
Podpora modulů
Pages Functions podporuje několik typů modulů, podobně jako Workers ↗. To znamená, že můžete importovat a používat externí moduly, jako je WebAssembly (Wasm), text a binary soubory uvnitř kódu vašich Functions.
Tento průvodce vás naučí, jak tyto různé typy modulů používat ve vašich Pages Functions.
Moduly ECMAScript
Moduly ECMAScript (zkráceně ES Modules) jsou oficiální standardizované ↗ modulový systém pro JavaScript. Jde o doporučený mechanismus pro psaní modulárního a znovupoužitelného kódu JavaScriptu.
ES Modules ↗ jsou definovány použitím import a export příkazy. Níže je uveden příklad skriptu napsaného ve formátu ES Modules a Pages Function, která tento modul importuje:
export function greeting(name: string): string {
return `Hello ${name}!`;
}import { greeting } from "../src/greeting.ts";
export async function onRequest(context) {
return new Response(`${greeting("Pages Functions")}`);
}Moduly WebAssembly
WebAssembly (zkráceně Wasm) umožňuje kompilovat jazyky jako Rust, Go nebo C do binárního formátu, který lze spustit v celé řadě prostředí, včetně webových prohlížečů, Cloudflare Workers, Cloudflare Pages Functions a dalších běhových prostředí WebAssembly.
Distribuovatelná, načitatelná a spustitelná jednotka kódu ve WebAssembly se nazývá modul ↗.
Níže je základní příklad, jak importovat Wasm Modules do kódu Pages Functions:
import addModule from "add.wasm";
export async function onRequest() {
const addInstance = await WebAssembly.instantiate(addModule);
return new Response(
`The meaning of life is ${addInstance.exports.add(20, 1)}`,
);
}Text Modules
Text Modules jsou nestandardizovaný způsob importu prostředků, jako jsou soubory HTML, ve formě String.
Chcete-li importovat níže uvedený soubor HTML do kódu Pages Functions:
<!DOCTYPE html>
<html>
<body>
<h1>Hello Pages Functions!</h1>
</body>
</html>Použijte následující skript:
import html from "../index.html";
export async function onRequest() {
return new Response(html, {
headers: { "Content-Type": "text/html" },
});
}Binární moduly
Binární moduly představují nestandardizovaný způsob importu binárních dat, například obrázků, jako ArrayBuffer.
Níže je základní příklad, jak importovat data z binárního souboru do kódu Pages Functions:
import data from "../my-data.bin";
export async function onRequest() {
return new Response(data, {
headers: { "Content-Type": "application/octet-stream" },
});
}