Bird
Raised Fist0
Denoframework~10 mins

Creating a Fresh project in Deno - Interactive Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to create a new Fresh project using the CLI.

Deno
deno run -A https://deno.land/x/fresh@1.1.5/cli.ts [1] my_project
Drag options to blanks, or click blank then click option'
Abuild
Binit
Ccreate
Dstart
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'start' instead of 'init' will not create a new project.
Using 'build' or 'create' are not valid commands for Fresh CLI initialization.
2fill in blank
medium

Complete the command to run the Fresh development server.

Deno
deno task [1]
Drag options to blanks, or click blank then click option'
Adev
Bdeploy
Cbuild
Dinit
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'build' will only compile the project, not run it.
Using 'deploy' or 'init' will not start the server.
3fill in blank
hard

Fix the error in the import statement for Fresh in your main file.

Deno
import { start } from "https://deno.land/x/fresh@[1]/server.ts";
Drag options to blanks, or click blank then click option'
A2.0.0
B1.0.0
C1.1.5
D0.8.0
Attempts:
3 left
💡 Hint
Common Mistakes
Using a version that does not exist or is incompatible causes import errors.
Using older versions may lack features or cause runtime issues.
4fill in blank
hard

Fill both blanks to create a simple Fresh page component that returns a heading.

Deno
import { h } from "preact";

export default function Home() {
  return <h1>[1]</h1>;
}

export const handler = [2];
Drag options to blanks, or click blank then click option'
A"Welcome to Fresh!"
Bnull
C{}
Dundefined
Attempts:
3 left
💡 Hint
Common Mistakes
Leaving the heading blank or without quotes causes errors.
Setting handler to null or undefined breaks the page.
5fill in blank
hard

Fill all three blanks to define a Fresh route that returns JSON data with a GET handler.

Deno
import { Handlers } from "https://deno.land/x/fresh@1.1.5/server.ts";

export const handler: Handlers = {
  GET(req, ctx) {
    return ctx.json({ message: [1] });
  },
};

export default function Page() {
  return <p>[2]</p>;
}

const greeting = [3];
Drag options to blanks, or click blank then click option'
A"Hello from Fresh!"
Attempts:
3 left
💡 Hint
Common Mistakes
Forgetting quotes around strings causes syntax errors.
Using different strings breaks consistency.

Practice

(1/5)
1. What command do you use to create a new Fresh project in Deno?
easy
A. deno fresh create
B. deno run -A --unstable https://fresh.deno.dev/init <project-name>
C. deno init fresh
D. deno start fresh

Solution

  1. Step 1: Understand Fresh project creation command

    The official way to create a Fresh project is by running a Deno script from the URL https://fresh.deno.dev/init with the project name as argument.
  2. Step 2: Identify the correct command syntax

    The command includes 'deno run -A --unstable' followed by the URL and the project name, exactly as in deno run -A --unstable https://fresh.deno.dev/init <project-name>.
  3. Final Answer:

    deno run -A --unstable https://fresh.deno.dev/init <project-name> -> Option B
  4. Quick Check:

    Fresh project creation = deno run -A --unstable https://fresh.deno.dev/init <project-name> [OK]
Hint: Remember the URL and flags for Fresh init command [OK]
Common Mistakes:
  • Using 'deno fresh create' which is not a valid command
  • Omitting the --unstable flag
  • Trying to use 'deno init fresh' which doesn't exist
2. Which of the following commands correctly starts the Fresh development server after creating a project?
easy
A. deno run -A --unstable main.ts
B. deno fresh start
C. deno start dev.ts
D. deno run -A --unstable dev.ts

Solution

  1. Step 1: Identify the development server file in Fresh projects

    Fresh projects use 'dev.ts' as the entry point to start the development server.
  2. Step 2: Match the correct command syntax

    The correct command is 'deno run -A --unstable dev.ts' to run the development server.
  3. Final Answer:

    deno run -A --unstable dev.ts -> Option D
  4. Quick Check:

    Start Fresh dev server = deno run -A --unstable dev.ts [OK]
Hint: Fresh dev server runs from dev.ts with deno run [OK]
Common Mistakes:
  • Trying to run main.ts which does not exist by default
  • Using 'deno fresh start' which is not a valid command
  • Omitting the -A or --unstable flags
3. After running deno run -A --unstable https://fresh.deno.dev/init myapp and changing into the myapp folder, what will happen if you run deno run -A --unstable dev.ts?
medium
A. Starts the Fresh development server and serves the app at localhost
B. Throws an error because dev.ts does not exist
C. Builds the project but does not start a server
D. Runs tests on the Fresh project

Solution

  1. Step 1: Understand the effect of the init command

    The init command creates a new Fresh project folder with all necessary files including dev.ts.
  2. Step 2: Running dev.ts starts the development server

    Running 'deno run -A --unstable dev.ts' inside the project folder launches the Fresh dev server, serving the app locally.
  3. Final Answer:

    Starts the Fresh development server and serves the app at localhost -> Option A
  4. Quick Check:

    Running dev.ts in Fresh project = starts dev server [OK]
Hint: dev.ts runs the server after init creates the project [OK]
Common Mistakes:
  • Assuming dev.ts is missing after init
  • Thinking dev.ts only builds without serving
  • Confusing dev.ts with test scripts
4. You ran deno run -A --unstable https://fresh.deno.dev/init myapp but got an error: error: Cannot resolve module. What is the most likely cause?
medium
A. You have no internet connection to fetch the init script
B. You forgot to include the -A permission flag
C. You ran the command inside an existing Fresh project folder
D. You used an invalid project name with spaces

Solution

  1. Step 1: Understand the error meaning

    'Cannot resolve module' means Deno cannot download the script from the URL.
  2. Step 2: Identify common causes

    This usually happens if there is no internet connection or the URL is unreachable.
  3. Final Answer:

    You have no internet connection to fetch the init script -> Option A
  4. Quick Check:

    Module fetch error = no internet connection [OK]
Hint: Check internet if module fetch fails during init [OK]
Common Mistakes:
  • Assuming permission flags cause module resolution errors
  • Thinking running inside project folder causes this error
  • Ignoring invalid project name as cause
5. You want to create a Fresh project named blog and start the development server. Which sequence of commands is correct?
hard
A. deno run -A https://fresh.deno.dev/init blog && cd blog && deno run dev.ts
B. deno fresh init blog && cd blog && deno start dev.ts
C. deno run -A --unstable https://fresh.deno.dev/init blog && cd blog && deno run -A --unstable dev.ts
D. deno create fresh blog && cd blog && deno run -A dev.ts

Solution

  1. Step 1: Use the correct Fresh init command

    The correct command to create a Fresh project is 'deno run -A --unstable https://fresh.deno.dev/init blog'.
  2. Step 2: Change directory and start the dev server

    After creation, change into the 'blog' folder and run 'deno run -A --unstable dev.ts' to start the server.
  3. Final Answer:

    deno run -A --unstable https://fresh.deno.dev/init blog && cd blog && deno run -A --unstable dev.ts -> Option C
  4. Quick Check:

    Init + cd + dev.ts run = deno run -A --unstable https://fresh.deno.dev/init blog && cd blog && deno run -A --unstable dev.ts [OK]
Hint: Init with URL, cd, then run dev.ts with flags [OK]
Common Mistakes:
  • Using 'deno fresh init' which is invalid
  • Omitting --unstable flag
  • Not changing directory before running dev.ts
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