跳转到主要内容

Docusaurus

import { Badge, Details, Steps, WranglerConfig, TabItem, Tabs, Description, InlineBadge, Render, PackageManagers, } from "~/components";

Start from CLI: Scaffold a Docusaurus project on Workers, and pick your template.

Or just deploy: Create a documentation site with Docusaurus and deploy it on Cloudflare Workers, with CI/CD and previews all set up for you.

Deploy to Workers

What is Docusaurus?

Docusaurus is an open-source framework for building, deploying, and maintaining documentation websites. It is built on React and provides an intuitive way to create static websites with a focus on documentation.

Docusaurus is designed to be easy to use and customizable, making it a popular choice for developers and organizations looking to create documentation sites quickly.

Deploy a new Docusaurus project on Workers

1. **Create a new project with the create-cloudflare CLI (C3).**
 <Details header="What's happening behind the scenes?">
 When you run this command, C3 creates a new project directory, initiates [Docusaurus' official setup tool](https://docusaurus.io/docs/installation), and configures the project for Cloudflare. It then offers the option to instantly deploy your application to Cloudflare.

 </Details>
  1. Develop locally.

    After creating your project, run the following command in your project directory to start a local development server.
    
    <PackageManagers type="run" args={"dev"} />
    
  2. Deploy your project.

     Your project can be deployed to a [*.workers.dev subdomain](/workers/configuration/routing/workers-dev/) or a [Custom Domain](/workers/configuration/routing/custom-domains/), from your local machine or any CI/CD system, (including [Workers Builds](/workers/ci-cd/#workers-builds/)).
    
     Use the following command to build and deploy your project. If you're using a CI service, be sure to update your "deploy command" accordingly.
    
     <PackageManagers type="run" args={"deploy"} />
    

Deploy an existing Docusaurus project on Workers

If you have a static site

If your Docusaurus project is entirely pre-rendered (which it usually is), follow these steps:

1. **Add a Wrangler configuration file.**
In your project root, create a Wrangler configuration file with the following content:

<WranglerConfig>

```json
	{
		"name": "my-docusaurus-app",
		// Update to today's date
		"compatibility_date": "$today",
		"assets": {
			"directory": "./build"
		}
	}
```

</WranglerConfig>
<Details header="What's this configuration doing?">
	The key part of this config is the `assets` field, which tells Wrangler where to find your static assets. In this case, we're telling Wrangler to look in the `./build` directory. If your assets are in a different directory, update the `directory` value accordingly.
		Refer to other [asset configuration options](/workers/static-assets/routing/).

			Also note how there's no `main` field in this config - this is because you're only serving static assets, so no Worker code is needed for on demand rendering/SSR.
</Details>
  1. Build and deploy your project.

    		You can deploy your project to a [`*.workers.dev` subdomain](/workers/configuration/routing/workers-dev/) or a [custom domain](/workers/configuration/routing/custom-domains/) from your local machine or any CI/CD system (including [Workers Builds](/workers/ci-cd/#workers-builds)). Use the following command to build and deploy. If you're using a CI service, be sure to update your "deploy command" accordingly.
    
    		<PackageManagers type="exec" pkg="docusaurus" args="build" />
    		<PackageManagers type="dlx" pkg="wrangler@latest" args="deploy" />
    

Use bindings with Docusaurus

Bindings are a way to connect your Docusaurus project to other Cloudflare services, enabling you to store and retrieve data within your application.