Bird
Raised Fist0
Astroframework~20 mins

Deploying to Cloudflare Pages in Astro - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Cloudflare Pages Astro Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ component_behavior
intermediate
2:00remaining
What happens when you deploy an Astro site to Cloudflare Pages without specifying the build command?

You have an Astro project and you deploy it to Cloudflare Pages but leave the build command field empty. What will Cloudflare Pages do during deployment?

AIt automatically detects Astro and runs 'astro build' without any configuration.
BIt skips the build step and tries to serve the source files directly, causing a runtime error.
CIt uses the default build command 'npm run build' and builds the site successfully.
DIt throws a build error because no build command is specified.
Attempts:
2 left
💡 Hint

Cloudflare Pages requires an explicit build command to know how to build your site.

📝 Syntax
intermediate
1:30remaining
Which is the correct output directory setting for Astro when deploying to Cloudflare Pages?

Astro outputs the built files to a folder. Which folder should you specify as the output directory in Cloudflare Pages settings?

Apublic
Bdist
Csrc
Dbuild
Attempts:
2 left
💡 Hint

Check the Astro config or default output folder after running 'astro build'.

🔧 Debug
advanced
2:30remaining
Why does your Astro site show a 404 error after deploying to Cloudflare Pages?

You deployed your Astro site to Cloudflare Pages. The deployment succeeded, but when you visit the site URL, you get a 404 error. What is the most likely cause?

AYou forgot to set the base path in astro.config.mjs to match the repository name.
BYou did not enable the 'Include all branches' option in Cloudflare Pages settings.
CYou used 'npm run dev' instead of 'npm run build' during deployment.
DYou did not add an index.html file in the public folder.
Attempts:
2 left
💡 Hint

Think about how Astro handles base paths and routing when deployed under a subpath.

❓ lifecycle
advanced
2:30remaining
How does Cloudflare Pages handle environment variables during Astro site deployment?

You want to use environment variables in your Astro site deployed on Cloudflare Pages. When are these variables available during the deployment lifecycle?

AEnvironment variables are available both during build and runtime automatically.
BEnvironment variables are injected at runtime by Cloudflare Workers serving the site.
CEnvironment variables are available only during the build step, not at runtime.
DEnvironment variables are not supported in Cloudflare Pages deployments.
Attempts:
2 left
💡 Hint

Consider when the site is built and when it is served.

🧠 Conceptual
expert
3:00remaining
What is the main advantage of deploying an Astro site to Cloudflare Pages compared to traditional hosting?

Choose the best explanation of why Cloudflare Pages is a good choice for hosting Astro sites.

ACloudflare Pages provides a global CDN that serves the static Astro site with low latency worldwide.
BCloudflare Pages automatically converts Astro components to server-side rendered pages on every request.
CCloudflare Pages requires no build step and serves Astro source files directly for faster updates.
DCloudflare Pages runs a Node.js server to dynamically render Astro pages on demand.
Attempts:
2 left
💡 Hint

Think about how static sites and CDNs work together.

Practice

(1/5)
1. What is the first step to deploy an Astro site to Cloudflare Pages?
easy
A. Push your Astro project code to a GitHub repository
B. Write a custom server script for Cloudflare
C. Install Cloudflare Pages CLI locally
D. Create a Docker container for the site

Solution

  1. Step 1: Prepare your Astro project

    You need to have your Astro site code ready and pushed to a GitHub repository because Cloudflare Pages connects to GitHub to get your code.
  2. Step 2: Connect GitHub repo to Cloudflare Pages

    Cloudflare Pages uses your GitHub repository to build and deploy your site automatically.
  3. Final Answer:

    Push your Astro project code to a GitHub repository -> Option A
  4. Quick Check:

    First step is pushing code to GitHub [OK]
Hint: Remember: Cloudflare Pages pulls from GitHub first [OK]
Common Mistakes:
  • Trying to deploy without a GitHub repo
  • Assuming local CLI is mandatory
  • Thinking Docker is required
2. Which build command is typically used in Cloudflare Pages settings for an Astro project?
easy
A. astro dev
B. npm run start
C. npm run build
D. npm install

Solution

  1. Step 1: Understand Astro build process

    Astro projects use npm run build to create the static files for deployment.
  2. Step 2: Set build command in Cloudflare Pages

    Cloudflare Pages needs the build command to generate the site files; npm run build is the correct command.
  3. Final Answer:

    npm run build -> Option C
  4. Quick Check:

    Build command = npm run build [OK]
Hint: Build command for Astro is always npm run build [OK]
Common Mistakes:
  • Using npm run start which runs a dev server
  • Using astro dev which is for local development
  • Confusing install with build
3. Given this Cloudflare Pages config snippet:
build:
  command: "npm run build"
  directory: "dist"
What will Cloudflare Pages do after you push your Astro site code?
medium
A. Run npm install and deploy files from node_modules
B. Run npm run build and deploy files from the dist folder
C. Ignore build and deploy all files in the repo
D. Run npm start and deploy files from the root folder

Solution

  1. Step 1: Read the build command

    The config says to run npm run build, which builds the Astro site into static files.
  2. Step 2: Check the output directory

    The directory dist is where Astro puts the built site files, so Cloudflare Pages deploys from there.
  3. Final Answer:

    Run npm run build and deploy files from the dist folder -> Option B
  4. Quick Check:

    Build command + output folder = deploy [OK]
Hint: Build command runs, output folder is deployed [OK]
Common Mistakes:
  • Confusing npm start with build
  • Deploying from wrong folder
  • Thinking node_modules is deployed
4. You connected your GitHub repo to Cloudflare Pages but the deployment fails with "Build command not found" error. What is the likely cause?
medium
A. You pushed code to the wrong GitHub branch
B. You used the wrong Cloudflare account
C. You did not enable GitHub Actions
D. You forgot to add a build script in package.json

Solution

  1. Step 1: Understand the error message

    "Build command not found" means Cloudflare tried to run the build command but it does not exist in your project.
  2. Step 2: Check package.json scripts

    The build command must be defined in the scripts section of package.json, usually as "build": "astro build" or similar.
  3. Final Answer:

    You forgot to add a build script in package.json -> Option D
  4. Quick Check:

    Missing build script causes build command error [OK]
Hint: Check package.json scripts for build command [OK]
Common Mistakes:
  • Assuming branch or account causes build command error
  • Thinking GitHub Actions must be enabled manually
  • Ignoring package.json scripts
5. You want to deploy an Astro site with environment variables on Cloudflare Pages. Which step is necessary to ensure your variables are available during build?
hard
A. Add environment variables in Cloudflare Pages dashboard under Settings > Environment Variables
B. Include variables in a .env file and push it to GitHub
C. Hardcode variables directly in your Astro source code
D. Set variables only in your local machine before pushing

Solution

  1. Step 1: Understand environment variable usage in Cloudflare Pages

    Cloudflare Pages requires environment variables to be set in its dashboard to inject them during build securely.
  2. Step 2: Avoid pushing .env files with secrets

    For security, do not push .env files with secrets to GitHub; instead, configure variables in Cloudflare Pages settings.
  3. Final Answer:

    Add environment variables in Cloudflare Pages dashboard under Settings > Environment Variables -> Option A
  4. Quick Check:

    Set env vars in Cloudflare dashboard for build [OK]
Hint: Set env vars in Cloudflare dashboard, not in repo [OK]
Common Mistakes:
  • Pushing .env files with secrets publicly
  • Hardcoding sensitive info in code
  • Assuming local env vars affect cloud build
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard