Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save tuvshuud/8516484 to your computer and use it in GitHub Desktop.
Save tuvshuud/8516484 to your computer and use it in GitHub Desktop.
NodeJS ийн тухай

Сайн байна уу! Мэдээж эхний хичээл HelloWorld ээс эхэлье. Бас HTTP server.

Би өөрөө монгол хэл дээр програмчлалын суурь мэдлэг аваагүй болохоор зарим нэг нэр томъёог тэр чигт нь бичих болно. Мөн NodeJS ийг судлаад удаагүй нэг хэдэн сар л болж байна. Тиймээс өөрийн мэдэх хүрээндээ хичээлүүд оруулахаар боллоо. Санал бодлоо солилцоод, буруу мэдээлэл байвал засаад явья. Дүрмийн алдаа мэр сэр байж магадгүй :)

-NodeJS v0.10.21 -Windows 8 64bit

Browser дотор байсаар ирсэн Javascript сервер тал дээр. NodeJS ийн тухайд товчхондоо бол Javascript ийг сервер талд ажиллах орчинг хангаж өгч байгаа платформ гэж ойлгоод байгаа. Javascript ийг browser өөс гадна талд ажиллуулж чадах нэг тийм хэрэгсэл. NodeJS нь Chrome browser -т бүтээгдсэн Google ийн V8 engine дээр ажилладаг гэж байгаа. Мөн олон бэлэн модуль уудтай ирдэг учир бүх зүйлийг эхнээс бичих шаардалаггүй. Өөр бас хүмүүсийн бичсэн олон сангууд үнэгүй татахаар байгаа https://npmjs.org/.

Node Package Manager Энэ сангууд, модуль уудыг нэгэтгэж, суулгахад явцыг хялбар болгохын тулд NPM буюу Node Package Manager гэж нэгдсэн ийм registry байгаа. Эдгээр сангуудыг хэрэглэхийн тулд npm багажыг ашигладаг ба энэ нь nodeJS ийг суулгахад дагалдаад суучихдаг. Хэрэглэх тухайд: -command prompt оо нээгээд --npm install <нэр> // тухайн application ий хүрээнд суулгана --npm install <нэр> -g// -g parameter нь глобал хүрээнд тухайн модуль ийг суулгана --npm install express //nodejs express framework ийг суулгах жишээ. Глобал аар суугдсан модуль -ууд NodeJS суусан фолдер/node_modules гэх фолдерт байдаг бол local нь тухайн application ий фолдерт ./node_modules фолдерт байгаа.

HelloWorld програм нэг иймэрхүү sayHello.js файл нээгээд

  • console.log('Hello World'); хадгалаад command line аас
  • node sayHello.js

Өөр нэг жишээ гэвэл say.js файл нээгээд

  • console.log(process.argv[2]); //process.argv[2] -command line argument хадгалаад
  • node say.js hello

Web application Web application хийхийн тулд хандалтад хариу өгөх HTTP server, хандалт болгоныг чиглүүлэх Router, хандалтад хавсаргасан POST data түгээх Request Handler гэх мэт наад захын зүйлүүдийг NodeJS дээр дангаар нь хийгээд явдаг.

Энгийн HelloWorld гэж текст буцаах HTTP server.

//файл: server.js
	var http = require("http"); //NodeJS ийн http модуль. Require() нь модуль дуудаж 
				    //ашиглахад хэрэглэгддэг

	http.createServer(function(request, response) {
	  response.writeHead(200, {"Content-Type": "text/plain"});
	  response.write("Hello World");
	  response.end();
	}).listen(8888);
  • node server.js //гэж ажилуулаад хөтөч өө нээгээд localhost:8888 гэж дуудна. Тайлбар нь NodeJS http модуль нь createServer(), listen() гэх хоёр функц дээрх код д ашиглагдсан ба createServer() нь request, response гэх хоёр argument тэй callback функц ийг parameter ээр хүлээж авдаг. Тэгээд header утгыг бичээд, контент ээ бичээд 8888 гэсэн порт ыг сонсоно гэсэн утгатай.

Зарим хүмүүсд энэ function call дотор function дамжуулагдаж байгаа нь сонин санагдаж магадгүй. Одоохондоо иймэрхүү. Удахгүй async function /definition, callback/ ийн талаар оруулна. Тэгээд дараа нь http.server page render хийх, get, post дата хүлээж авах гээд үргэлжлүүлье.

Part 2

@DevSanSon
Copy link

Sain bn shuu

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment