Node.js va brauzer farqlari


ULASHISH

Asosiy farqlar

Node.js va brauzerlar ikkalasi ham JavaScript-ni ishlaydi, lekin ular turli muhit va imkoniyatlarga ega.

Node.js server tomonida ishlab chiqish uchun mo‘ljallangan, brauzerlar esa mijoz tomonidagi ilovalar uchun.

  • API’lar: Node.js fayl tizimi (fs), tarmoq va OS uchun API’larni taqdim etadi, ammo brauzerlar bunday qilmaydi.
    Brauzerlar DOM, fetch va UI API-larini Node.js da mavjud emas.
  • Global obyektlar: Node.js global dan foydalanadi; brauzerlar window yoki self dan foydalanadilar.
  • Modullar: Node.js CommonJS ( require ) va ES modullaridan ( import ) foydalanadi; brauzerlar ES modullaridan yoki oddiy <script> teglardan foydalanadi.
  • Xavfsizlik: Brauzerlar kirish imkoniyati cheklangan sinov muhitida ishlaydi; Node.js fayl tizimi (fs) va tarmoqqa to‘liq kirish huquqiga ega.
  • Voqealar sikli: Ikkala muhit ham hodisalar siklidan foydalanadi, lekin Node.js taymerlar, jarayonlar va boshqalar uchun qo‘shimcha API-larga ega.
  • Muhit o‘zgaruvchilari: Node.js muhit o‘zgaruvchilariga kirishi mumkin ( process.env ); brauzerlar qila olmaydi.
  • Paketlarni boshqarish: Node.js npm/yarn dan foydalanadi; brauzerlar CDN yoki bundlerlardan foydalanadi.

Ushbu sahifa har bir muhit uchun misollar bilan asosiy farqlarni tushuntiradi.


Misollar

Global obyektlar

// Node.js
global.mylet = 42;
console.log(global.mylet); // 42
// Browser
window.mylet = 42;
console.log(window.mylet); // 42

Faylga kirish

// 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 so‘rovlari

// 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);

Modullar

// Node.js (CommonJS)
const fs = require('fs');
// Node.js & Browser (ES Modules)
// import fs from 'fs'; // Node.js only, not browser
// import _ from 'https://cdn.jsdelivr.net/npm/lodash-es/lodash.js'; // Browser


Taqqoslash jadvali

FeatureNode.jsBrowser
File System AccessHaYo‘q
Networking (TCP/UDP)HaYo‘q
DOM AccessYo‘qHa
Global Objectglobalwindow/self
ModulesCommonJS/ESMESM/Scripts
Environment VariablesYes (process.env)Yo‘q
SecurityFull OS accessSandboxed
Package Managementnpm/yarnCDN/Bundler


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!