Bird
Raised Fist0
Denoframework~10 mins

Node.js built-in module support in Deno - Interactive Code Practice

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

Complete the code to import the 'path' module in Deno.

Deno
import * as path from '[1]';
Drag options to blanks, or click blank then click option'
Anode:path
Bpath
Cfs
Dhttp
Attempts:
3 left
💡 Hint
Common Mistakes
Importing without 'node:' prefix causes module not found error.
Using wrong module names like 'fs' when 'path' is needed.
2fill in blank
medium

Complete the code to use the 'join' function from the 'path' module.

Deno
const fullPath = path.[1]('folder', 'file.txt');
Drag options to blanks, or click blank then click option'
Adirname
Bresolve
Cjoin
Dbasename
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'resolve' instead of 'join' changes path resolution behavior.
Using 'basename' or 'dirname' returns parts of a path, not joining.
3fill in blank
hard

Fix the error in importing the 'fs' module in Deno.

Deno
import fs from '[1]';
Drag options to blanks, or click blank then click option'
Afs
Bnode:fs
Cfs/promises
Dnode:fs/promises
Attempts:
3 left
💡 Hint
Common Mistakes
Omitting 'node:' prefix causes import errors.
Using 'fs/promises' without 'node:' prefix is invalid in Deno.
4fill in blank
hard

Fill both blanks to import and use the 'readFileSync' function from the 'fs' module.

Deno
import { [1] } from '[2]';
const data = readFileSync('./file.txt', 'utf-8');
Drag options to blanks, or click blank then click option'
AreadFileSync
Bnode:fs
CreadFile
Dfs
Attempts:
3 left
💡 Hint
Common Mistakes
Importing 'readFile' instead of 'readFileSync'.
Omitting 'node:' prefix in module path.
5fill in blank
hard

Fill all three blanks to import 'createServer' from 'http' module and create a simple server.

Deno
import { [1] } from '[2]';

const server = [3]((req, res) => {
  res.end('Hello from Deno!');
});

server.listen(8080);
Drag options to blanks, or click blank then click option'
AcreateServer
Bnode:http
CcreateServer()
Dhttp
Attempts:
3 left
💡 Hint
Common Mistakes
Calling 'createServer()' in import statement instead of just importing the function.
Using 'http' without 'node:' prefix.
Not calling 'createServer' to create the server instance.

Practice

(1/5)
1. What is the correct way to import the Node.js built-in path module in Deno?
easy
A. import * as path from "deno_path";
B. import path from "path";
C. import { path } from "deno:path";
D. import path from "node:path";

Solution

  1. Step 1: Understand Deno's Node.js module import syntax

    Deno uses the "node:" prefix to import Node.js built-in modules.
  2. Step 2: Apply correct import statement for path

    The correct import is import path from "node:path"; to access Node.js path module in Deno.
  3. Final Answer:

    import path from "node:path"; -> Option D
  4. Quick Check:

    Node.js built-in modules use "node:" prefix in Deno [OK]
Hint: Use "node:" prefix to import Node.js built-ins in Deno [OK]
Common Mistakes:
  • Omitting the "node:" prefix
  • Using "deno:" prefix instead
  • Trying to import from "path" without prefix
  • Using incorrect module names
2. Which of the following is the correct syntax to import the Node.js fs module in Deno?
easy
A. import * as fs from "node:fs";
B. import { fs } from "node:fs";
C. import fs from "fs";
D. import fs from "deno:fs";

Solution

  1. Step 1: Recall import style for Node.js modules in Deno

    Deno requires the "node:" prefix and supports namespace import for modules like fs.
  2. Step 2: Choose correct import syntax for fs

    The correct syntax is import * as fs from "node:fs"; to import all fs exports as a namespace.
  3. Final Answer:

    import * as fs from "node:fs"; -> Option A
  4. Quick Check:

    Namespace import with "node:" prefix is correct [OK]
Hint: Use namespace import with "node:" prefix for modules like fs [OK]
Common Mistakes:
  • Using default import for modules that export multiple members
  • Omitting the "node:" prefix
  • Trying to destructure import incorrectly
  • Using "deno:" prefix
3. What will be the output of the following Deno code snippet?
import { join } from "node:path";
const fullPath = join("/home", "user", "docs");
console.log(fullPath);
medium
A. /home\user\docs
B. /home/user/docs
C. home/user/docs
D. Error: Module not found

Solution

  1. Step 1: Understand join from Node.js path module

    The join function combines path segments using the correct separator for the OS.
  2. Step 2: Analyze the given path segments

    Segments "/home", "user", "docs" joined on Unix-like OS produce "/home/user/docs".
  3. Final Answer:

    /home/user/docs -> Option B
  4. Quick Check:

    Node.js path.join joins segments with OS separator [OK]
Hint: Node.js path.join joins paths with OS-specific separator [OK]
Common Mistakes:
  • Assuming Windows separator on Unix
  • Expecting error due to import
  • Confusing join with concat
  • Ignoring leading slash in first segment
4. Identify the error in this Deno code importing Node.js buffer module:
import { Buffer } from "buffer";
const buf = Buffer.from("hello");
console.log(buf.toString());
medium
A. Missing "node:" prefix in import path
B. Buffer is not exported from Node.js buffer module
C. Buffer.from is not a function
D. toString() method does not exist on Buffer

Solution

  1. Step 1: Check import path for Node.js built-in modules in Deno

    Deno requires the "node:" prefix to import Node.js built-in modules like buffer.
  2. Step 2: Identify the missing prefix causing module resolution error

    Importing from "buffer" without "node:" prefix will fail in Deno.
  3. Final Answer:

    Missing "node:" prefix in import path -> Option A
  4. Quick Check:

    Always use "node:" prefix for Node.js built-ins in Deno [OK]
Hint: Always prefix Node.js modules with "node:" in Deno imports [OK]
Common Mistakes:
  • Omitting the "node:" prefix
  • Assuming default import works without prefix
  • Confusing Deno modules with Node.js modules
  • Misunderstanding Buffer API
5. You want to use the Node.js events module in Deno to create an event emitter. Which code snippet correctly imports and uses it?
hard
A. import EventEmitter from "node:events"; const emitter = new EventEmitter();
B. import { EventEmitter } from "node:events"; const emitter = new events.EventEmitter();
C. import * as events from "node:events"; const emitter = new events.EventEmitter();
D. import events from "events"; const emitter = new events.EventEmitter();

Solution

  1. Step 1: Understand how Node.js events module exports EventEmitter

    The events module exports EventEmitter as a named export, so namespace import is common.
  2. Step 2: Check correct import syntax with "node:" prefix and usage

    Using import * as events from "node:events"; then new events.EventEmitter() is correct in Deno.
  3. Final Answer:

    import * as events from "node:events"; const emitter = new events.EventEmitter(); -> Option C
  4. Quick Check:

    Namespace import with "node:" prefix for EventEmitter [OK]
Hint: Use namespace import for EventEmitter from "node:events" [OK]
Common Mistakes:
  • Using default import for EventEmitter
  • Omitting "node:" prefix
  • Importing from "events" without prefix
  • Trying to destructure EventEmitter incorrectly
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