← Cloudflare Workers / workers / framework-guides / web-apps
Vike
Можно развернуть ваш Vike ↗ приложение в Cloudflare с помощью расширения Vike vike-photon ↗.
Поддерживаются все типы приложений (SSR/SPA/SSG).
Что такое Vike?
Vike ↗ это альтернатива Next.js/Nuxt для сложных приложений, построенная на модульной архитектуре, обеспечивающей исключительную гибкость и стабильность.
Новое приложение
Используйте vike.dev/new ↗ чтобы создать каркас нового приложения Vike, использующего vike-photon с @photonjs/cloudflare.
Добавить в существующее приложение
-
npm i wrangler vike-photon @photonjs/cloudflare -
pages/+config.ts
import type { Config } from 'vike/types' + import vikePhoton from 'vike-photon/config' export default { + extends: [vikePhoton] } satisfies Config -
package.json
{ "scripts": { "dev": "vike dev", + "preview": "vike build && vike preview", + "deploy": "vike build && wrangler deploy" } }wrangler.jsonc+ { + "$schema": "node_modules/wrangler/config-schema.json", + "compatibility_date": "2025-08-06", + "name": "my-vike-cloudflare-app", + "main": "virtual:photon:cloudflare:server-entry", + // Only required if your app depends a Node.js API + "compatibility_flags": ["nodejs_compat"] + } -
.gitignore
+ .wrangler/ -
(Необязательно) По умолчанию Photon использует встроенный сервер, который поддерживает базовые функции, например SSR. Если требуются дополнительные серверные функции (например, загрузка файлов ↗ или Маршруты API ↗), затем создайте собственный сервер ↗.
API Cloudflare (привязки)
Чтобы получить доступ к API Cloudflare (например, D1 и KV), используйте привязки которые доступны через env объект импортируется из cloudflare:workers.
import { env } from 'cloudflare:workers'
// Key-value store
env.KV.get('my-key')
// Environment variable
env.LOG_LEVEL
// ...Пример использования Cloudflare D1:
npm create vike@latest -- --react --hono --drizzle --cloudflareИли перейдите к vike.dev/new ↗ и выберите
Cloudflareс ORM.
TypeScript
Если вы используете TypeScript, выполните wrangler types каждый раз, когда вы изменяете конфигурацию Cloudflare, чтобы обновить worker-configuration.d.ts файл.
npx wrangler typesЗатем закоммитьте изменения:
git commit -am "update cloudflare types"Убедитесь, что TypeScript загружает его:
{
"compilerOptions": {
+ "types": ["./worker-configuration.d.ts"]
}
}См. также: Cloudflare Workers > TypeScript.