Lab 10: Node.js Core Modules
Overview
Step 1: fs/promises — File System
const fs = require('node:fs/promises');
const path = require('node:path');
// Writing, reading, and working with files
async function fileOperations() {
const tmpDir = '/tmp/node-lab';
// Create directory (recursive = no error if exists)
await fs.mkdir(tmpDir, { recursive: true });
// Write a file
await fs.writeFile(path.join(tmpDir, 'hello.txt'), 'Hello, Node.js!\n', 'utf8');
// Append to file
await fs.appendFile(path.join(tmpDir, 'hello.txt'), 'Second line\n');
// Read file
const content = await fs.readFile(path.join(tmpDir, 'hello.txt'), 'utf8');
console.log('File content:', content.trim());
// Write JSON
const data = { users: ['Alice', 'Bob'], count: 2 };
await fs.writeFile(
path.join(tmpDir, 'data.json'),
JSON.stringify(data, null, 2)
);
// Read JSON
const raw = await fs.readFile(path.join(tmpDir, 'data.json'), 'utf8');
console.log('JSON data:', JSON.parse(raw).count, 'users');
// List directory
const files = await fs.readdir(tmpDir);
console.log('Files:', files);
// File stats
const stats = await fs.stat(path.join(tmpDir, 'hello.txt'));
console.log('File size:', stats.size, 'bytes');
console.log('Is file:', stats.isFile());
// Cleanup
await fs.rm(tmpDir, { recursive: true });
}
fileOperations().catch(console.error);Step 2: path — Working with File Paths
Step 3: os — Operating System Info
Step 4: crypto — Cryptographic Operations
Step 5: Buffer — Binary Data
Step 6: Stream Basics
Step 7: Useful Utility Modules
Step 8: Capstone — Core Modules All Together
Summary
Module
Key APIs
Use Case
Last updated
