Node.js vs Browser
Node.js vs Browser
Node.js and browsers both run JavaScript but have different environments and capabilities.
- Node.js is for server-side; browsers are for client-side.
- Node.js has File System, Networking, and OS APIs. Browsers provide DOM, Fetch, and UI APIs.
- Node.js uses
global; browsers usewindoworself. - Node.js modules: CommonJS/ESM; Browser modules: ESM / Script tags
- Node.js has full OS access; browsers are sandboxed
Global Objects
// Node.js
global.mylet = 42;
console.log(global.mylet); // 42
// Browser
window.mylet = 42;
console.log(window.mylet); // 42
File Access
// Node.js
const fs = require('fs');
fs.readFile('myfile.txt', 'utf8', (err, data) => {
if (err) throw err;
console.log(data);
});
// Browser
// Not allowed for security reasons
HTTP Requests
// Node.js
const https = require('https');
https.get('https://example.com', res => {
let data = '';
res.on('data', chunk => data += chunk);
res.on('end', () => console.log(data));
});
// Browser
fetch('https://example.com')
.then(response => response.text())
.then(console.log);
Comparison Table
| Feature | Node.js | Browser |
|---|---|---|
| File System Access | Yes | No |
| Networking (TCP/UDP) | Yes | No |
| DOM Access | No | Yes |
| Global Object | global | window/self |
| Modules | CommonJS / ESM | ESM / Script |
| Environment Variables | Yes (process.env) | No |
| Security | Full OS access | Sandboxed |
| Package Management | npm / yarn | CDN / Bundler |