LectureNotes On Class 3: Working
with Modules in Node.js
Objective: Understand the core modules and how to use them.
Introduction to
Node.js Modules
In Node.js, a module
is a reusable piece of code. Node.js comes with a set of built-in modules,
which you can include in your application using the require() function. These
modules provide functionality such as working with the file system, creating
HTTP servers, and more.
Node.js has two types
of modules:
- Core Modules: Built-in modules provided by Node.js
(e.g., fs, path, http, and url).
- Third-Party Modules: External modules that you can install
using a package manager like npm (e.g., express, mongoose).
In this class, we will
focus on the core modules.
Core Modules in
Node.js
1. fs (File System)
The fs module provides
a way to interact with the file system. It allows you to read, write, delete,
and manipulate files.
Common Methods:
- fs.readFile(path, callback): Reads the
contents of a file asynchronously.
- fs.writeFile(path, data, callback): Writes
data to a file.
- fs.appendFile(path, data, callback):
Appends data to a file.
- fs.existsSync(path): Checks if a file
exists synchronously.
2. path
The path module helps
you work with file and directory paths. It provides utilities to manipulate
file paths in a platform-independent way.
Common Methods:
- path.join(...paths): Joins multiple path
segments into one.
- path.resolve(...paths): Resolves a
sequence of paths into an absolute path.
- path.basename(path): Returns the last
portion of a path.
- path.extname(path): Returns the file
extension of a given path.
3. http
The http module allows
you to create an HTTP server and handle HTTP requests and responses.
Common Methods:
- http.createServer(callback): Creates an
HTTP server that listens for requests.
- server.listen(port): Starts the server and
listens on a specified port.
4. url
The url module
provides utilities for URL resolution and parsing.
Common Methods:
- url.parse(urlString): Parses a URL string
and returns an object with properties like hostname, path, query, etc.
- url.format(urlObject): Converts a URL
object into a URL string.
Lab Tasks
Task 1: Explore
Core Modules
- Exploring the fs Module: Use require('fs') to import the fs
module in your script. You can use this to read a file or write to a file.
Example:
javascript
CopyEdit
const fs =
require('fs');
// Reading a file
fs.readFile('example.txt',
'utf8', (err, data) => {
if (err) throw err;
console.log(data);
});
// Writing to a file
fs.writeFile('output.txt',
'Hello, Node.js!', (err) => {
if (err) throw err;
console.log('File has been written.');
});
- Exploring the path Module: Use require('path') to work with file
paths. Example:
javascript
CopyEdit
const path =
require('path');
const filePath =
'/home/user/docs/example.txt';
console.log('Base
Name:', path.basename(filePath));
console.log('Directory
Name:', path.dirname(filePath));
console.log('Extension:',
path.extname(filePath));
- Exploring the http Module: Create a simple HTTP server using the
http module:
javascript
CopyEdit
const http =
require('http');
const server =
http.createServer((req, res) => {
res.writeHead(200, { 'Content-Type':
'text/plain' });
res.end('Hello, World!');
});
server.listen(3000, ()
=> {
console.log('Server running at
http://localhost:3000/');
});
- Exploring the url Module: Parse a URL string:
javascript
CopyEdit
const url =
require('url');
const myUrl = 'http://example.com:8080/pathname?name=abc#hash';
const parsedUrl =
url.parse(myUrl, true);
console.log(parsedUrl);
Task 2: Script to
Read and Write to a File Using the fs Module
Create a script that
reads content from one file and writes it to another file:
javascript
CopyEdit
const fs =
require('fs');
// Read content from a
file
fs.readFile('input.txt',
'utf8', (err, data) => {
if (err) throw err;
console.log('File content:', data);
// Write content to another file
fs.writeFile('output.txt', data, (err) =>
{
if (err) throw err;
console.log('Content has been written to
output.txt');
});
});
Task 3: Use the
Path Module to Manipulate File Paths
Use the path module to
manipulate file paths, as shown below:
javascript
CopyEdit
const path =
require('path');
// Join file paths
const filePath =
path.join('folder', 'subfolder', 'file.txt');
console.log('Joined
Path:', filePath);
// Resolve a file path
const resolvedPath =
path.resolve('folder', 'subfolder', 'file.txt');
console.log('Resolved
Path:', resolvedPath);
// Get file extension
const ext =
path.extname(filePath);
console.log('File
Extension:', ext);
Summary
In this class, we
learned about core Node.js modules like fs, path, http, and url. We explored
their basic functionality and used them to read/write files, manipulate file
paths, create an HTTP server, and parse URLs. These modules are essential for
building various types of applications in Node.js, from simple file handling to
complex web servers.
Next Steps:
In the next class, we will explore how to use external modules via npm and
integrate them into your Node.js applications.
4o mini
You said:
write 10 no of
assignments with solution in detail from the same above topic
ChatGPT said:
ChatGPT
Assignments:
Working with Modules in Node.js
Below are 10
assignments with solutions related to core modules in Node.js. These
assignments will help you practice using the fs, path, http, and url modules.
Assignment 1:
Reading a File Using the fs Module
Problem:
Write a Node.js script to read the contents of a file called data.txt and
display it on the console.
Solution:
javascript
CopyEdit
const fs =
require('fs');
// Read file
'data.txt'
fs.readFile('data.txt',
'utf8', (err, data) => {
if (err) throw err;
console.log(data); // Display file content
});
Explanation:
- fs.readFile() is used to read the file
asynchronously.
- The callback function handles the error
(if any) and prints the file content to the console.
Assignment 2:
Writing to a File Using the fs Module
Problem:
Write a Node.js script to write the string "Hello, Node.js!" into a
file called output.txt.
Solution:
javascript
CopyEdit
const fs =
require('fs');
// Write to file
'output.txt'
fs.writeFile('output.txt',
'Hello, Node.js!', (err) => {
if (err) throw err;
console.log('File has been saved!');
});
Explanation:
- fs.writeFile() is used to write data to a
file asynchronously.
- If the file doesn't exist, it will be
created; otherwise, the content will overwrite the existing file.
Assignment 3:
Append Data to a File
Problem:
Write a script to append "Appended text" to an existing file called
log.txt.
Solution:
javascript
CopyEdit
const fs =
require('fs');
// Append to 'log.txt'
fs.appendFile('log.txt',
'Appended text\n', (err) => {
if (err) throw err;
console.log('Text has been appended!');
});
Explanation:
- fs.appendFile() is used to append data to
a file. If the file doesn’t exist, it will be created.
Assignment 4:
Checking if a File Exists
Problem:
Write a Node.js script that checks if a file called sample.txt exists and logs
a message accordingly.
Solution:
javascript
CopyEdit
const fs =
require('fs');
// Check if file
exists
if
(fs.existsSync('sample.txt')) {
console.log('File exists.');
} else {
console.log('File does not exist.');
}
Explanation:
- fs.existsSync() is a synchronous method
used to check if a file exists at the specified path.
Assignment 5: Join
Multiple Path Segments Using the path Module
Problem:
Write a script that joins three segments of a file path: 'home', 'user', and
'documents'.
Solution:
javascript
CopyEdit
const path =
require('path');
// Join path segments
const filePath =
path.join('home', 'user', 'documents');
console.log('Full
Path:', filePath);
Explanation:
- path.join() combines multiple path
segments into one path.
Assignment 6:
Resolving a File Path Using the path Module
Problem:
Write a Node.js script that resolves the absolute file path for the file
'file.txt' located in 'folder/subfolder'.
Solution:
javascript
CopyEdit
const path =
require('path');
// Resolve the file
path
const resolvedPath =
path.resolve('folder', 'subfolder', 'file.txt');
console.log('Resolved
Path:', resolvedPath);
Explanation:
- path.resolve() resolves the path to an
absolute path based on the given arguments.
Assignment 7:
Create a Simple HTTP Server
Problem:
Write a Node.js script to create an HTTP server that responds with "Hello,
World!" when accessed via http://localhost:3000.
Solution:
javascript
CopyEdit
const http =
require('http');
// Create server
const server =
http.createServer((req, res) => {
res.writeHead(200, { 'Content-Type':
'text/plain' });
res.end('Hello, World!');
});
// Start the server
server.listen(3000, ()
=> {
console.log('Server running at
http://localhost:3000');
});
Explanation:
- http.createServer() is used to create an
HTTP server that listens for requests.
- server.listen() starts the server on port
3000.
Assignment 8:
Parsing a URL Using the url Module
Problem:
Write a script that parses the URL
'http://example.com:8080/pathname?name=abc#hash' and logs the URL parts.
Solution:
javascript
CopyEdit
const url =
require('url');
// Parse the URL
const parsedUrl = url.parse('http://example.com:8080/pathname?name=abc#hash',
true);
console.log('Parsed
URL:', parsedUrl);
Explanation:
- url.parse() parses the URL string into an
object with different parts, such as protocol, hostname, path, query, etc.
Assignment 9:
Extract the File Extension Using the path Module
Problem:
Write a Node.js script that extracts the extension of a file located at
'folder/subfolder/file.txt'.
Solution:
javascript
CopyEdit
const path =
require('path');
// Extract the
extension
const fileExtension =
path.extname('folder/subfolder/file.txt');
console.log('File
Extension:', fileExtension);
Explanation:
- path.extname() extracts the extension of a
file (e.g., .txt, .js).
Assignment 10:
Handling Errors in the fs Module
Problem:
Write a Node.js script that reads a non-existent file and gracefully handles
the error.
Solution:
javascript
CopyEdit
const fs =
require('fs');
// Try reading a
non-existent file
fs.readFile('nonexistentfile.txt',
'utf8', (err, data) => {
if (err) {
console.error('Error reading file:',
err.message);
} else {
console.log(data);
}
});
Explanation:
- The script uses fs.readFile() to attempt
reading a non-existent file. The error is caught in the callback function,
and an appropriate error message is logged.
Summary
These assignments
focus on fundamental tasks that involve core modules in Node.js. By completing
these assignments, you will become comfortable with file system operations,
path manipulations, HTTP server creation, and URL parsing.
4o mini
You said:
write 100 no of MCQ
answer with explanation from the same above topic
ChatGPT said:
ChatGPT
Here’s a list of 100
multiple-choice questions (MCQs) with answers and explanations, based on the
topic "Working with Modules in Node.js" (focusing on fs, path,
http, and url modules). These questions are designed to help reinforce
knowledge of core Node.js modules.
1. What is the
purpose of the fs module in Node.js?
A) Handling HTTP
requests
B) Interacting with the file system
C) Manipulating file paths
D) Parsing URLs
Answer: B) Interacting with the file system
Explanation: The fs module in Node.js provides methods to interact with
the file system, such as reading, writing, and manipulating files.
2. Which method
from the fs module is used to read the contents of a file asynchronously?
A) fs.readFileSync()
B) fs.writeFile()
C) fs.readFile()
D) fs.appendFileSync()
Answer: C) fs.readFile()
Explanation: fs.readFile() is an asynchronous method used to read the
contents of a file.
3. Which method is
used to write data to a file in the fs module?
A) fs.writeFileSync()
B) fs.writeFile()
C) fs.readFile()
D) fs.appendFile()
Answer: B) fs.writeFile()
Explanation: fs.writeFile() writes data to a file asynchronously.
4. Which method is
used to check if a file exists synchronously?
A) fs.exists()
B) fs.existsSync()
C) fs.checkFileSync()
D) fs.fileExistsSync()
Answer: B) fs.existsSync()
Explanation: fs.existsSync() checks if a file exists synchronously.
5. What does the
path.join() method do in Node.js?
A) Joins multiple file
paths into one
B) Resolves an absolute path
C) Extracts the file name from a path
D) Retrieves the file extension
Answer: A) Joins multiple file paths into one
Explanation: path.join() combines multiple segments of file paths into
one valid path.
6. Which method is
used to resolve an absolute path from a sequence of path segments in Node.js?
A) path.resolve()
B) path.join()
C) path.extname()
D) path.basename()
Answer: A) path.resolve()
Explanation: path.resolve() resolves a sequence of paths into an
absolute path.
7. Which module in
Node.js is used to create HTTP servers?
A) url
B) fs
C) path
D) http
Answer: D) http
Explanation: The http module is used to create HTTP servers in Node.js.
8. Which method is
used to create a basic HTTP server in Node.js?
A) http.startServer()
B) http.createServer()
C) http.newServer()
D) http.launchServer()
Answer: B) http.createServer()
Explanation: http.createServer() is used to create a basic HTTP server
in Node.js.
9. How do you parse
a URL into its components in Node.js?
A) url.resolve()
B) url.format()
C) url.parse()
D) url.get()
Answer: C) url.parse()
Explanation: url.parse() parses a URL string into an object with
different components (e.g., hostname, path, query).
10. What does the
url.format() method do in Node.js?
A) Extracts query
parameters from a URL
B) Converts a URL object into a string
C) Splits a URL into components
D) Resolves a URL
Answer: B) Converts a URL object into a string
Explanation: url.format() is used to convert a URL object back into a
URL string.
11. Which method in
fs is used to append data to a file?
A) fs.writeFile()
B) fs.appendFile()
C) fs.appendFileSync()
D) fs.appendData()
Answer: B) fs.appendFile()
Explanation: fs.appendFile() is used to append data to an existing file.
12. What does the
path.basename() method return in Node.js?
A) The directory name
of the file
B) The file name with extension
C) The file extension
D) The absolute file path
Answer: B) The file name with extension
Explanation: path.basename() returns the last portion of the path, i.e.,
the file name with its extension.
13. How can you
extract the file extension from a given file path in Node.js?
A) path.base()
B) path.filename()
C) path.extname()
D) path.basename()
Answer: C) path.extname()
Explanation: path.extname() extracts the file extension from a given
file path.
14. Which of the
following is used to create a server that listens for HTTP requests in Node.js?
A) server.listen()
B) http.listen()
C) http.createServer()
D) server.create()
Answer: A) server.listen()
Explanation: server.listen() is used to make the server listen for
requests on a specific port.
15. In Node.js,
which of the following methods can be used to handle HTTP requests?
A) server.on()
B) http.request()
C) http.createServer()
D) server.create()
Answer: C) http.createServer()
Explanation: http.createServer() is used to handle HTTP requests by
providing a callback function.
16. Which method is
used to get the query parameters from a parsed URL object?
A) url.query()
B) url.search()
C) url.params()
D) url.query
Answer: D) url.query
Explanation: The url.query property holds the query parameters when a
URL is parsed.
17. Which method in
fs allows you to synchronously read a file?
A) fs.readFileSync()
B) fs.writeFileSync()
C) fs.readSync()
D) fs.readFile()
Answer: A) fs.readFileSync()
Explanation: fs.readFileSync() is used to synchronously read the
contents of a file.
18. Which Node.js
module is used to handle URL resolution and formatting?
A) http
B) url
C) fs
D) path
Answer: B) url
Explanation: The url module is used to handle URL parsing, resolution,
and formatting.
19. What does the
http.createServer() method accept as arguments?
A) A URL and a
callback
B) A request and a response
C) A hostname and a port
D) A callback to handle HTTP requests
Answer: D) A callback to handle HTTP requests
Explanation: http.createServer() accepts a callback function that
handles incoming HTTP requests and sends responses.
20. In Node.js,
which method of path returns the directory name of a given file path?
A) path.basename()
B) path.dirname()
C) path.filepath()
D) path.dir()
Answer: B) path.dirname()
Explanation: path.dirname() returns the directory name of a given file
path.
21. Which of the
following methods can be used to convert a URL object back into a URL string in
Node.js?
A) url.parse()
B) url.format()
C) url.convert()
D) url.stringify()
Answer: B) url.format()
Explanation: url.format() is used to convert a URL object into a string.
22. What is the
default encoding used by fs.readFile() when no encoding is specified?
A) utf8
B) ascii
C) base64
D) binary
Answer: A) utf8
Explanation: The default encoding for fs.readFile() is utf8 if no
encoding is specified.
23. What will
happen if you try to access a non-existent file with fs.readFile()?
A) The program will
crash
B) An error will be passed to the callback
C) The file will be created automatically
D) It will return null
Answer: B) An error will be passed to the callback
Explanation: If the file does not exist, fs.readFile() will pass an
error to the callback function.
24. Which module is
used to work with file paths in Node.js?
A) url
B) http
C) fs
D) path
Answer: D) path
Explanation: The path module provides utilities for working with file
and directory paths.
25. Which method is
used to write data to a file synchronously?
A) fs.writeFile()
B) fs.writeFileSync()
C) fs.appendFileSync()
D) fs.appendFile()
Answer: B) fs.writeFileSync()
Explanation: fs.writeFileSync() is the synchronous version of
fs.writeFile().
I will stop here
and continue in the next response if you need more questions.
4o mini
You said:
no ...continue
ChatGPT said:
ChatGPT
Continuing with more
multiple-choice questions:
26. Which method
from the fs module is used to delete a file?
A) fs.remove()
B) fs.delete()
C) fs.unlink()
D) fs.removeSync()
Answer: C) fs.unlink()
Explanation: fs.unlink() is used to delete a file in Node.js.
27. Which module is
commonly used to create a server and handle HTTP requests in Node.js?
A) path
B) url
C) http
D) fs
Answer: C) http
Explanation: The http module is used for creating HTTP servers and
handling requests in Node.js.
28. What is
returned by the path.extname() method in Node.js?
A) The directory name
B) The file name without the extension
C) The file extension (e.g., .js, .txt)
D) The complete file path
Answer: C) The file extension (e.g., .js, .txt)
Explanation: path.extname() returns the extension of the file, such as
.js or .txt.
29. What does the
fs.appendFileSync() method do?
A) Reads a file
synchronously
B) Appends data to a file synchronously
C) Writes data to a file asynchronously
D) Deletes a file synchronously
Answer: B) Appends data to a file synchronously
Explanation: fs.appendFileSync() synchronously appends data to a file.
30. How do you
convert a URL object back to a URL string in Node.js?
A) url.parse()
B) url.resolve()
C) url.stringify()
D) url.format()
Answer: D) url.format()
Explanation: url.format() converts a URL object back into a URL string.
31. Which of the
following is a core module in Node.js used for manipulating file paths?
A) path
B) http
C) url
D) fs
Answer: A) path
Explanation: The path module is used to manipulate file and directory
paths in Node.js.
32. How can you
create an HTTP request in Node.js?
A) http.request()
B) http.sendRequest()
C) http.createRequest()
D) http.makeRequest()
Answer: A) http.request()
Explanation: http.request() is used to create an HTTP request in
Node.js.
33. What does the
url.resolve() method do?
A) Converts a URL
string to a URL object
B) Resolves a relative URL to an absolute URL
C) Creates a new URL
D) Parses a URL into components
Answer: B) Resolves a relative URL to an absolute URL
Explanation: url.resolve() resolves a relative URL to an absolute URL
based on a base URL.
34. Which method
from the fs module is used to rename a file?
A) fs.renameSync()
B) fs.changeName()
C) fs.rename()
D) fs.updateName()
Answer: C) fs.rename()
Explanation: fs.rename() is used to rename a file or directory
asynchronously.
35. How do you
create a writable stream for writing to a file in Node.js?
A)
fs.createWriteStream()
B) fs.createWritable()
C) fs.openWriteStream()
D) fs.writeStream()
Answer: A) fs.createWriteStream()
Explanation: fs.createWriteStream() is used to create a writable stream
for writing data to a file.
36. Which method is
used to extract the host part from a URL in Node.js?
A) url.getHost()
B) url.host()
C) url.hostname()
D) url.resolve()
Answer: C) url.hostname()
Explanation: url.hostname() returns the host portion of a URL (e.g.,
"www.example.com").
37. What will the
following code output?
javascript
CopyEdit
const path =
require('path');
console.log(path.basename('/home/user/file.txt'));
A) /home/user/
B) file.txt
C) file
D) txt
Answer: B) file.txt
Explanation: path.basename() returns the file name with its extension
from the given path.
38. What method is
used to check if a path is an absolute path in Node.js?
A) path.isAbsolute()
B) path.isRelative()
C) path.isAbsolutePath()
D) path.checkAbsolute()
Answer: A) path.isAbsolute()
Explanation: path.isAbsolute() is used to check if a given path is
absolute.
39. Which method
from the fs module reads the file and returns its content in a callback?
A) fs.readFile()
B) fs.readFileSync()
C) fs.openFile()
D) fs.loadFile()
Answer: A) fs.readFile()
Explanation: fs.readFile() reads the contents of a file asynchronously
and provides the content in a callback.
40. How do you
write data to a file asynchronously in Node.js?
A) fs.writeFile()
B) fs.writeData()
C) fs.createFile()
D) fs.appendFileSync()
Answer: A) fs.writeFile()
Explanation: fs.writeFile() writes data to a file asynchronously.
41. Which of the
following methods is used to create a readable stream in Node.js?
A)
fs.createReadStream()
B) fs.readStream()
C) fs.createStream()
D) fs.openReadStream()
Answer: A) fs.createReadStream()
Explanation: fs.createReadStream() is used to create a readable stream
to read data from a file.
42. How would you
get the directory name from a given path in Node.js?
A) path.basename()
B) path.dirname()
C) path.name()
D) path.dir()
Answer: B) path.dirname()
Explanation: path.dirname() returns the directory name from a given
path.
43. Which method
can be used to extract query parameters from a URL in Node.js?
A) url.query()
B) url.searchParams()
C) url.parse()
D) url.urlParams()
Answer: B) url.searchParams()
Explanation: url.searchParams can be used to work with query parameters
from a parsed URL object.
44. Which of the
following is the default encoding for the fs.readFileSync() method?
A) utf-8
B) ascii
C) binary
D) base64
Answer: A) utf-8
Explanation: The default encoding for fs.readFileSync() is utf-8.
45. Which of the
following methods is used to resolve a relative URL in Node.js?
A) url.resolve()
B) url.parse()
C) url.format()
D) url.join()
Answer: A) url.resolve()
Explanation: url.resolve() is used to resolve a relative URL into an
absolute URL.
46. Which function
is used to get the current working directory in Node.js?
A)
fs.getCurrentDirectory()
B) process.cwd()
C) path.currentDir()
D) fs.getDir()
Answer: B) process.cwd()
Explanation: process.cwd() returns the current working directory of the
Node.js process.
47. Which of the
following methods from the path module is used to normalize a file path?
A) path.normalize()
B) path.correct()
C) path.normalizePath()
D) path.fix()
Answer: A) path.normalize()
Explanation: path.normalize() normalizes a given file path by resolving
.. and . in the path.
48. Which method
can be used to check if a directory exists in Node.js?
A) fs.isDirectory()
B) fs.existsSync()
C) fs.directoryExists()
D) fs.checkDir()
Answer: B) fs.existsSync()
Explanation: fs.existsSync() checks if a directory or file exists
synchronously.
49. How do you read
a JSON file asynchronously in Node.js?
A) fs.readJSON()
B) fs.readFile()
C) fs.readJSONFile()
D) fs.readJsonFile()
Answer: B) fs.readFile()
Explanation: fs.readFile() can be used to read a JSON file, which can
then be parsed into an object.
50. Which method
would you use to get a file's stats in Node.js?
A) fs.statSync()
B) fs.fileStats()
C) fs.fileInfo()
D) fs.getStats()
Answer: A) fs.statSync()
Explanation: fs.statSync() synchronously retrieves the stats of a file,
including size, permissions, etc.
Let me know if you
would like to continue further! The MCQs can be extended as needed.
4o mini
You said:
yes
ChatGPT said:
ChatGPT
Continuing with more
multiple-choice questions:
51. Which module in
Node.js helps you interact with the operating system?
A) os
B) http
C) fs
D) url
Answer: A) os
Explanation: The os module provides a number of operating system-related
utility methods, such as retrieving the OS platform, CPU architecture, and
more.
52. Which of the
following methods is used to join path segments in Node.js?
A) path.combine()
B) path.merge()
C) path.join()
D) path.connect()
Answer: C) path.join()
Explanation: path.join() is used to join multiple path segments into a
single path, taking care of platform-specific path separators.
53. How do you
handle errors in Node.js file system operations?
A) By using try-catch
blocks
B) By using promises
C) By using callback functions
D) All of the above
Answer: D) All of the above
Explanation: Errors can be handled using try-catch blocks, promises, or
by checking error objects in callback functions, depending on the method used.
54. What is the
default behavior of fs.readFileSync() in Node.js if the encoding is not
provided?
A) It returns a buffer
B) It throws an error
C) It returns a string
D) It returns null
Answer: A) It returns a buffer
Explanation: If encoding is not provided, fs.readFileSync() returns the
raw binary content of the file as a buffer.
55. Which method is
used to obtain the last modified time of a file in Node.js?
A) fs.getStats()
B) fs.fileStats()
C) fs.stat()
D) fs.lastModified()
Answer: C) fs.stat()
Explanation: fs.stat() is used to obtain the file's statistics,
including the last modified time.
56. Which method is
used to parse a URL into its components in Node.js?
A) url.parse()
B) url.split()
C) url.convert()
D) url.split()
Answer: A) url.parse()
Explanation: url.parse() is used to parse a URL string into its
individual components, such as protocol, hostname, path, etc.
57. What is the
role of __dirname in Node.js?
A) It returns the
current file path
B) It returns the directory name of the current module
C) It returns the file name of the current module
D) It returns the parent directory
Answer: B) It returns the directory name of the
current module
Explanation: __dirname is a Node.js global variable that returns the
directory name of the current module.
58. Which method in
the path module is used to get the directory name from a file path?
A) path.basename()
B) path.directory()
C) path.dirname()
D) path.fileName()
Answer: C) path.dirname()
Explanation: path.dirname() returns the directory name from a full file
path.
59. Which method is
used to resolve a URL into an absolute URL?
A) url.resolve()
B) url.join()
C) url.format()
D) url.parse()
Answer: A) url.resolve()
Explanation: url.resolve() is used to resolve a relative URL into an
absolute URL by considering the base URL.
60. Which method
from the http module is used to send an HTTP request in Node.js?
A) http.request()
B) http.sendRequest()
C) http.send()
D) http.sendData()
Answer: A) http.request()
Explanation: http.request() is used to send an HTTP request in Node.js,
enabling interaction with external servers or APIs.
61. How can you
read and parse a JSON file in Node.js?
A) Use fs.readFile()
and JSON.parse()
B) Use fs.readJSON()
C) Use fs.readJsonFile()
D) Use JSON.read()
Answer: A) Use fs.readFile() and JSON.parse()
Explanation: To read and parse a JSON file, fs.readFile() is used to
read the file asynchronously, and JSON.parse() is used to convert the file
content into an object.
62. Which method is
used to check if a file exists asynchronously in Node.js?
A) fs.exists()
B) fs.fileExists()
C) fs.isFile()
D) fs.existsSync()
Answer: A) fs.exists()
Explanation: fs.exists() checks if a file or directory exists
asynchronously and calls a callback function with a boolean indicating the
existence.
63. Which method is
used to open a file in Node.js for reading or writing?
A) fs.openFile()
B) fs.open()
C) fs.createFile()
D) fs.create()
Answer: B) fs.open()
Explanation: fs.open() opens a file in Node.js, allowing you to read or
write it, depending on the flag specified.
64. What does the
url.format() method do?
A) Converts a URL
string into a URL object
B) Resolves a relative URL to an absolute URL
C) Combines base URL and path into a full URL
D) Converts a URL object back into a URL string
Answer: D) Converts a URL object back into a URL
string
Explanation: url.format() is used to convert a URL object back into a
string representation.
65. Which method is
used to append data to a file asynchronously in Node.js?
A) fs.appendFile()
B) fs.writeFile()
C) fs.createWriteStream()
D) fs.appendFileSync()
Answer: A) fs.appendFile()
Explanation: fs.appendFile() appends data to a file asynchronously,
creating the file if it doesn't exist.
66. What is the
purpose of path.resolve() in Node.js?
A) Joins paths into a
single string
B) Resolves a relative path to an absolute path
C) Creates a new directory
D) Checks if the path exists
Answer: B) Resolves a relative path to an absolute
path
Explanation: path.resolve() resolves a relative path to an absolute
path, taking into account the current working directory.
67. Which method
from the http module allows you to create an HTTP server in Node.js?
A) http.createServer()
B) http.createRequest()
C) http.startServer()
D) http.initialize()
Answer: A) http.createServer()
Explanation: http.createServer() is used to create an HTTP server that
listens to incoming requests.
68. What is the
function of the path.parse() method in Node.js?
A) Joins two paths
into one
B) Returns an object representing different components of a path
C) Creates a new path
D) Normalizes the given path
Answer: B) Returns an object representing different
components of a path
Explanation: path.parse() breaks a file path into an object with
components like root, directory, base, name, and ext.
69. What does the
url.parse() method return?
A) The URL object with
all its components
B) A string representation of the URL
C) The base URL of the given string
D) The path of the URL
Answer: A) The URL object with all its components
Explanation: url.parse() parses a URL string into an object containing
the protocol, hostname, pathname, query, and more.
70. Which method
from the fs module is used to rename a file asynchronously?
A) fs.rename()
B) fs.renameSync()
C) fs.renameAsync()
D) fs.move()
Answer: A) fs.rename()
Explanation: fs.rename() is used to rename a file or directory
asynchronously.
71. What will the
following code output?
javascript
CopyEdit
const path =
require('path');
console.log(path.join('/home/user',
'docs', 'file.txt'));
A) /home/user/docs/file.txt
B) /home/userfile.txt
C) /docs/file.txt
D) /home/user/docs
Answer: A) /home/user/docs/file.txt
Explanation: path.join() joins multiple path segments and returns the
correct path, considering platform-specific path separators.
72. Which of the
following is NOT a core module in Node.js?
A) fs
B) http
C) express
D) path
Answer: C) express
Explanation: express is not a core module in Node.js; it is a
third-party web framework that runs on top of Node.js.
73. How can you
create a simple web server using Node.js?
A) Use the http module
B) Use the url module
C) Use the fs module
D) Use the path module
Answer: A) Use the http module
Explanation: The http module provides the ability to create a simple web
server that listens to requests and responds.
74. What will
happen if you try to access a file using the fs.readFileSync() method, and the
file does not exist?
A) It will throw an
error
B) It will return null
C) It will return an empty string
D) It will return an empty buffer
Answer: A) It will throw an error
Explanation: If the file does not exist, fs.readFileSync() will throw an
error indicating that the file was not found.
75. Which method is
used to send a response to an HTTP request in Node.js?
A) response.send()
B) response.write()
C) response.sendFile()
D) response.end()
Answer: D) response.end()
Explanation: response.end() is used to end the HTTP response, sending
the data back to the client.
These MCQs are
designed to test a broad understanding of core Node.js modules and their
practical applications. Feel free to ask if you'd like to continue!
4o mini
You said:
yes
ChatGPT said:
ChatGPT
Continuing with more
multiple-choice questions:
76. Which method
from the fs module allows you to delete a file in Node.js?
A) fs.remove()
B) fs.delete()
C) fs.unlink()
D) fs.erase()
Answer: C) fs.unlink()
Explanation: fs.unlink() is used to remove (delete) a file
asynchronously from the file system.
77. What does the
path.normalize() method do?
A) Removes unnecessary
file extensions
B) Normalizes a given path to a standard format
C) Joins multiple paths into one
D) Resolves a relative path into an absolute one
Answer: B) Normalizes a given path to a standard
format
Explanation: path.normalize() returns a normalized version of the given
path by resolving .. and . elements, and correcting any redundant slashes.
78. Which of the
following is used to create a writable stream in Node.js?
A)
fs.createWriteStream()
B) fs.openWriteStream()
C) fs.createWritableStream()
D) fs.writeStream()
Answer: A) fs.createWriteStream()
Explanation: fs.createWriteStream() creates a writable stream, allowing
data to be written to a file.
79. What is the
output of the following code?
javascript
CopyEdit
const url =
require('url');
const myUrl = new
URL('https://www.example.com/path?name=test');
console.log(url.format(myUrl));
A)
https://www.example.com/path?name=test
B) /path?name=test
C) www.example.com
D) https://www.example.com
Answer: A) https://www.example.com/path?name=test
Explanation: The url.format() method formats a URL object back to its
string representation, which will be the same as the original URL.
80. How can you
include the path module in your Node.js script?
A) import path from
'path';
B) require('path');
C) import 'path';
D) load('path');
Answer: B) require('path');
Explanation: To include the path module in Node.js, use the require()
function to load the module.
81. What does the
fs.writeFileSync() method do in Node.js?
A) Reads a file
synchronously
B) Creates a new file
C) Writes data to a file synchronously
D) Renames a file
Answer: C) Writes data to a file synchronously
Explanation: fs.writeFileSync() writes data to a file synchronously,
blocking the program's execution until the write operation is complete.
82. Which method is
used to get the hostname of the current system in Node.js?
A) os.hostname()
B) os.getHostName()
C) os.systemInfo()
D) os.machineName()
Answer: A) os.hostname()
Explanation: os.hostname() is used to get the hostname of the current
system or machine.
83. Which of the
following methods is used to get the value of a specific query parameter in a
URL?
A) url.getQueryParam()
B) url.parseQuery()
C) url.query()
D) url.searchParams.get()
Answer: D) url.searchParams.get()
Explanation: url.searchParams.get() is used to get the value of a
specific query parameter from a URL's query string.
84. What will the
following code output?
javascript
CopyEdit
const path =
require('path');
console.log(path.extname('index.html'));
A) .html
B) index.html
C) html
D) .index
Answer: A) .html
Explanation: path.extname() returns the file extension of the given file
path, which in this case is .html.
85. Which of the
following is a method to read a file asynchronously in Node.js?
A) fs.readFileSync()
B) fs.readFileAsync()
C) fs.readFile()
D) fs.openFile()
Answer: C) fs.readFile()
Explanation: fs.readFile() reads a file asynchronously in Node.js and
provides the content through a callback function.
86. Which Node.js
module is used to create a simple web server?
A) server
B) http
C) express
D) web
Answer: B) http
Explanation: The http module is used to create a simple HTTP server in
Node.js, allowing it to handle requests and responses.
87. How can you
specify a file encoding while reading a file in Node.js?
A) fs.readFile({
encoding: 'utf-8' })
B) fs.readFileSync('utf-8')
C) fs.readFile('file.txt', 'utf-8')
D) fs.readFile(file.txt, 'utf-8')
Answer: C) fs.readFile('file.txt', 'utf-8')
Explanation: You can specify the encoding by passing it as the second
argument in fs.readFile().
88. What is the
purpose of the url.format() method in Node.js?
A) It resolves a
relative URL to an absolute URL
B) It formats a URL object into a string
C) It returns the query string from a URL
D) It parses a URL into its components
Answer: B) It formats a URL object into a string
Explanation: url.format() converts a URL object back into its string
representation.
89. Which of the
following methods is used to open a file for reading in Node.js?
A) fs.open()
B) fs.createReadStream()
C) fs.readFile()
D) fs.openFile()
Answer: A) fs.open()
Explanation: fs.open() is used to open a file for reading (or writing)
in Node.js.
90. What does the
path.resolve() method do?
A) Returns the base
name of the file
B) Resolves a relative path to an absolute path
C) Joins two paths
D) Returns the file extension of the path
Answer: B) Resolves a relative path to an absolute
path
Explanation: path.resolve() resolves a relative path to an absolute path
based on the current working directory.
91. What is the
output of the following code?
javascript
CopyEdit
const fs =
require('fs');
fs.writeFileSync('example.txt',
'Hello, Node.js!');
const data =
fs.readFileSync('example.txt', 'utf-8');
console.log(data);
A) Hello, Node.js!
B) example.txt
C) fs.readFileSync()
D) undefined
Answer: A) Hello, Node.js!
Explanation: The file example.txt is written synchronously and then read
back synchronously, printing the contents.
92. How can you
check if a file exists in Node.js?
A) fs.checkFile()
B) fs.existsSync()
C) fs.exists()
D) fs.fileExists()
Answer: B) fs.existsSync()
Explanation: fs.existsSync() checks if a file exists synchronously.
93. What does the
fs.createReadStream() method do?
A) Reads a file
asynchronously
B) Creates a writable stream for a file
C) Reads a file as a stream
D) Creates a new file
Answer: C) Reads a file as a stream
Explanation: fs.createReadStream() creates a readable stream to read a
file, useful for large files.
94. Which method is
used to get the current working directory in Node.js?
A) os.getcwd()
B) path.getcwd()
C) process.cwd()
D) fs.cwd()
Answer: C) process.cwd()
Explanation: process.cwd() returns the current working directory of the
Node.js process.
95. What is the
role of the path.basename() method in Node.js?
A) It returns the full
path of a file
B) It returns the directory name
C) It returns the base name of a file
D) It returns the extension of the file
Answer: C) It returns the base name of a file
Explanation: path.basename() returns the final part of a path, which is
usually the file name.
96. Which method is
used to open a file in append mode in Node.js?
A) fs.openAppend()
B) fs.appendFile()
C) fs.createWriteStream()
D) fs.writeFile()
Answer: B) fs.appendFile()
Explanation: fs.appendFile() is used to append data to a file, creating
it if necessary.
97. What does the
url.parse() method do in Node.js?
A) Combines multiple
URL components
B) Converts a URL string into a URL object
C) Formats a URL object into a string
D) Resolves a relative URL to an absolute URL
Answer: B) Converts a URL string into a URL object
Explanation: url.parse() parses a URL string and returns a URL object
with its components.
98. Which module is
used to perform operations on the operating system in Node.js?
A) sys
B) os
C) path
D) process
Answer: B) os
Explanation: The os module provides methods for interacting with the
operating system, such as fetching system information.
99. How do you get
the file extension using the path module in Node.js?
A)
path.fileExtension()
B) path.getExtension()
C) path.extname()
D) path.extension()
Answer: C) path.extname()
Explanation: path.extname() returns the extension of a file path.
100. What is the
default value for the encoding option in the fs.readFile() method?
A) utf-16
B) utf-8
C) ascii
D) null
Answer: D) null
Explanation: The default encoding value for fs.readFile() is null, which
means the content is returned as a buffer.

No comments:
Post a Comment