← Workers / workers / vite-plugin
Get started
Start with a basic package.json
{
"name": "cloudflare-vite-get-started",
"private": true,
"version": "0.0.0",
"type": "module",
"scripts": {
"dev": "vite dev",
"build": "vite build",
"preview": "npm run build && vite preview",
"deploy": "npm run build && wrangler deploy"
}
}Install the dependencies
npm i -D vite @cloudflare/vite-plugin wranglerCreate your Vite config file and include the Cloudflare plugin
import { defineConfig } from "vite";
import { cloudflare } from "@cloudflare/vite-plugin";
export default defineConfig({
plugins: [cloudflare()],
});The Cloudflare Vite plugin doesn't require any configuration by default and will look for a wrangler.jsonc, wrangler.json or wrangler.toml in the root of your application.
Refer to the API reference for configuration options.
Create your Worker config file
{
"$schema": "./node_modules/wrangler/config-schema.json",
"name": "cloudflare-vite-get-started",
// Set this to today's date
"compatibility_date": "2026-08-28",
"main": "./src/index.ts"
}"$schema" = "./node_modules/wrangler/config-schema.json"
name = "cloudflare-vite-get-started"
# Set this to today's date
compatibility_date = "2026-08-28"
main = "./src/index.ts"The name field specifies the name of your Worker.
By default, this is also used as the name of the Worker's Vite Environment (see Vite Environments for more information).
The main field specifies the entry file for your Worker code.
For more information about the Worker configuration, see Configuration.
Create your Worker entry file
export default {
fetch() {
return new Response(`Running in ${navigator.userAgent}!`);
},
};A request to this Worker will return 'Running in Cloudflare-Workers!', demonstrating that the code is running inside the Workers runtime.
Dev, build, preview and deploy
You can now start the Vite development server (npm run dev), build the application (npm run build), preview the built application (npm run preview), and deploy to Cloudflare (npm run deploy).