Mr.Source

آموزش گام به گام node.js نود جی اس

پست های پیشنهاد شده

نود جی اس یک پلتفرم یا فریم ورک جدید از سمت جاوا اسکریپت هست که کدنویسی سمت سرور رو برامون مهیا می کنه. تا قبل از nodejs جاوا اسکریپت فقط سمت کلاینت اجرا می شد. اما الان اگه جاوااسکریپت بدونید می تونین کد سمت سرور رو هم با جاوااسکریپت بزنین.

nodejs خیلی قدرتمنده و برای سایت هایی که پردازش های موازی زیادی دارن پیشنهاد میشه، چون فشار روی سرور رو کاهش می ده!

با نود جی اس می تونید به راحتی یک اپلیکیشن چت بنویسید که فشاری روی سرور نباشه.اما اگه همین اپلیکیشن چت رو با php بنویسید و تعداد کاربراتون تا 100 نفر برسه سرور منفجر میشه. اما node.js ککش هم نمیگزه و سرور down نمیشه. خیلی از مزایا باعث شده امروزه اکثر برنامه نویسا بیان سمت این پلتفرم.

یک نمونه کد nodejs :

var http = require('http');

http.createServer(function (req, res) {
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hello chasboon!');
}).listen(8000); 

کد فوق عبارت !hello chasboon رو در خروجی نمایش می ده.

نود رو می تونید از سایت رسمی خودش با توجه به سیستم عاملتون دانلود کنین:

https://nodejs.org

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

مقدمه نود جی اس

node.js چیست؟

  • Node.js یک فریم ورک open source سمت سرور است
  • Node.js رایگان است
  • Node.js در سیستم عامل های مختلف (ویندوز، لینوکس، یونیکس، مک OS X و غیره) اجرا می شود
  • Node.js از کدنویسی جاوااسکریپت در سمت سرور بهره می برد

چرا Node.js؟

Node.js از برنامه نویسی غیرهمزمان استفاده می کند!

همچنین مشکل مصرف بالای حافظه را رفع می کند.

برای مثال اکثر نرم افزار های چت و بازی که مشاهده می کنید در سمت سرور با nodejs نوشته شده اند.


Node.js می تواند چه کارهایی انجام دهد؟

  • Node.js مي تواند محتوای صفحات وب پويا ايجاد کند
  • Node.js مي تواند ايجاد، باز، خواندن، نوشتن، حذف، و بستن فايل ها در سرور را انجام دهد
  • Node.js مي تواند داده های فرم HTML را جمع آوری کند
  • Node.js مي تواند داده ها را در پايگاه داده خود اضافه، حذف و تغيير دهد

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

نصب و شروع به کار با node.js

 

دانلود Node.js

سایت رسمی node.js در لینک پایین آمده. با توجه به سیستم عامل خود آن را نصب نمایید:

https://nodejs.org

بعد از دانلود و نصب نود جی اس بر روی کامپیوتر خود مراحل زیر را انجام دهید تا اولین کد خود را با node بنویسیم.

یک فایل با نام chasboon.js در درایو C ایجاد نمایید.

کدهای زیر را در آن paste کنید:

var http = require('http');

http.createServer(function (req, res) {
    res.writeHead(200, {'Content-Type': 'text/html'});
    res.end('Hello World!');
}).listen(8080);

ما در این کد یک سرور HTTP ایجاد کرده ایم که بر روی پورت 8080 قابل اجرا است.

اجرا کردن Node.js

برای اینکه از کد خود اجرا بگیریم این مراحل را انجام دهید:

CMD را باز کرده و به ریشه درایو C بیایید.

سپس دستور زیر را وارد نمایید:

node chasboon.js

با این کار ما سرور را start کرده ایم.

حالا مرورگر خود را باز کنید و یا بر روی این لینک کلیک کنید:

http://localhost:8080

کلمه ی !Hello World را در خروجی مشاهده می کنید.

بنابراین ما یاد گرفتیم که چطور یک سرور با nodejs ایجاد کنیم و از آن خروجی بگیریم.

 

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

ماژول در node.js

تعریف ماژول در Node.js ؟


ماژول ها را همانند کتابخانه های جاوا اسکریپت بدانید.

مجموعه ای از توابع که می خواهید در برنامه خود وارد کنید.

ماژول های ساخته شده(Built-in Modules)

Node.js مجموعه ای از ماژول های از پیش ساخته شده دارد که شما می توانید بدون هیچ گونه نصب اضافی از آن ها استفاده کنید که به Built-in Modules معروف هستند.

Include Modules

برای include کردن کتابخانه هایی که خودتان نوشته اید و یا از قبل موجود است می توانید از دستور ()require استفاده نمایید:

var http = require('http');

اکنون برنامه شما دسترسی به ماژول HTTP را دارد و می توانید یک سرور ایجاد کنید:

http.createServer(function (req, res) {
    res.writeHead(200, {'Content-Type': 'text/html'});
    res.end('Hello Chasboon!');
}).listen(8080);

ایجاد یک ماژول شخصی

شما می توانید ماژول های خود را ایجاد کنید و به راحتی آنها را در برنامه های خود وارد نمایید.

مثال زیر یک ماژول ایجاد می کند که یک شیء تاریخ و زمان را باز می گرداند:

exports.myDateTime = function () {
    return Date();
};

از کلمه کلیدی exports استفاده می کنیم تا بتوانیم از ماژولی که نوشته ایم در فایل های دیگر استقاده نماییم.

کد بالا را در یک فایل به نام "mymodule.js" ذخیره کنید.

ماژول خود را وارد کنید

حالا شما می توانید از ماژول خود، در هر یک از فایل های Node.js استفاده کنید.

مثال:

از ماژول "mymodule" در یک فایل Node.js استفاده کنید:

var http = require('http');
var dt = require('./mymodule');

http.createServer(function (req, res) {
    res.writeHead(200, {'Content-Type': 'text/html'});
    res.write("The date and time are currently: " + dt.myDateTime());
    res.end();
}).listen(8080);

توجه داشته باشید که از /. برای قرار دادن ماژول استفاده می کنیم، بدان معنی است که ماژول در پوشه مشابه فایل Node.js واقع شده است.

کد بالا را در یک فایل با نام "demomodule.js" ذخیره کنید و فایل را اجرا کنید:

C:\Users\Your Name>node demomodule.js

اگر تمام مراحل را در رایانه خود به درستی انجام داده باشید، نتیجه مشابه ای را مشاهده خواهید کرد. مرورگر را باز کرده و آدرس زیر را در آن وارد نمایید:

http://localhost:8080

 

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

ماژول Http در node.js

ماژول http در Node.js

ایجاد ماژول HTTP

Node.js یک ماژول داخلی به نام HTTP دارد که به Node.js اجازه می دهد تا داده ها را بر روی پروتکل انتقال پرونده HTTP انتقال دهد.

برای include کردن ماژول HTTP از متد  ()require استفاده کنید:

var http = require('http');

Node.js به عنوان یک سرور وب

ماژول HTTP می تواند یک سرور HTTP ایجاد کند که به پورت سرور گوش می دهد و به client پاسخ می دهد.

برای ایجاد یک سرور HTTP از متد ()createServer استفاده کنید:

var http = require('http');

//create a server object:
http.createServer(function (req, res) {
  res.write('Hello Chasboon!'); //write a response to the client
  res.end(); //end the response
}).listen(8080); //the server object listens on port 8080

زمانی که کسی تلاش می کند به پورت 8080 کامپیوتر دسترسی پیدا کند این تابع به متد ()http.createServer منتقل می شود.

کد بالا را در یک فایل با نام "demo_http.js" ذخیره کنید و فایل را run کنید:

C:\Users\Your Name>node demo_http.js

اضافه کردن Header به HTTP

اگر پاسخ از سرور HTTP به عنوان HTML نمایش داده شود، باید هدر HTTP با نوع محتوای صحیح را وارد کنید:

var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/html'});
  res.write('Hello Chasboon!');
  res.end();
}).listen(8080);

اولین آرگومان از روش ()res.writeHead کد وضعیت است، 200 بدان معنی است که همه چیز خوب است، دوم آرگومان یک شی شامل پاسخ(respornse) است.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

خواندن Query String

تابع منتقل شده به ()http.createServer دارای یک آرگومان به نام req است که درخواست client را به عنوان یک شی (object http.IncomingMessage) نشان می دهد.

این شیء "url" نامیده می شود که بخشی از آدرس را پس از نام دامنه نگه می دارد:

// demo_http_url.js
var http = require('http');
http.createServer(function (req, res) {
    res.writeHead(200, {'Content-Type': 'text/html'});
    res.write(req.url);
    res.end();
}).listen(8080);

کد بالا را در یک فایل با نام "demo_http_url.js" ذخیره کنید و فایل را اجرا کنید:

// فایل را با ترمینال اجرا کنید
C:\Users\Your Name>node demo_http_url.js

اگر مراحل مشابه را در رایانه خود انجام داده باشید، هنگام باز کردن این دو آدرس باید دو نتیجه مختلف را ببینید.

این آدرس را در مرورگر خود باز کنید:

http://localhost:8080/summer

خروجی :

/summer

سپس این آدرس را در مرورگر خود باز کنید:

http://localhost:8080/winter

خروجی :

/winter

جداسازی Query String

ماژول هایی ساخته شده است که به راحتی می تواند رشته پرس و جو را به قسمت های قابل خواندن، مانند ماژول URL تقسیم کند.

var http = require('http');
var url = require('url');

http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/html'});
  var q = url.parse(req.url, true).query;
  var txt = q.year + " " + q.month;
  res.end(txt);
}).listen(8080);

کد بالا را در یک فایل با نام "demo_querystring.js" ذخیره کنید و فایل را اجرا کنید:

C:\Users\Your Name>node demo_querystring.js

به این آدرس در مرورگر خود بروید:

http://localhost:8080/?year=2017&month=July

خروجی کد بالا به این صورت خواهد بود:

2017 July

پس به این طریق می توانیم کوئری خود را از طریق درخواست GET ، از مرورگر کاربر دریافت کنیم.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

ماژول فايل سيستم Node.js

Node.js به عنوان يک سرور فايل

ماژول فايل سيستم Node.js اجازه مي دهد تا با سيستم فايل بر روي کامپيوتر خود کار کنيد.

براي اضافه کردن ماژول سيستم فايل، از روش ()require استفاده کنيد:

var fs = require('fs');

ويژگيهاي ماژول سيستم فايل:

  • خواندن فايل ها
  • ايجاد فايل ها
  • به روز رساني فايل ها
  • حذف فايل ها
  • تغيير نام فايل ها

خواندن فايل ها در Node Js

روش ()fs.readFile براي خواندن فايل ها در رايانه شما استفاده مي شود.

فرض کنيد ما فايل HTML زير (که در همان پوشه Node.js قرار دارد را داريم):

<html>
<body>
<h1>chasboon.ir</h1>
<p>learn node.js</p>
</body>
</html>

يک فايل Node.js ايجاد مي کنيم که فايل HTML را مي خواند و محتواي آن را باز مي کند:

var http = require('http');
var fs = require('fs');
http.createServer(function (req, res) {
  fs.readFile('chasboon.html', function(err, data) {
    res.writeHead(200, {'Content-Type': 'text/html'});
    res.write(data);
    res.end();
  });
}).listen(8080);

کد بالا را در یک فایل با نام "demo_readfile.js" ذخیره کنید و فایل را اجرا کنید:

C:\Users\Your Name>node demo_readfile.js

اکنون اگر به آدرس http://localhost:8080 در مورگر خود بروید نتیجه را مشاهده خواهید کرد.

ایجاد فایل ها در Node Js

ماژول سیستم فایل دارای روش هایی برای ایجاد فایل های جدید است:

  • ()fs.appendFile
  • ()fs.open
  • ()fs.writeFile

متد ()fs.appendFile محتویات مشخص شده را به یک فایل اضافه می کند. اگر فایل وجود نداشته باشد، فایل ایجاد می شود:

var fs = require('fs');

fs.appendFile('mynewfile1.txt', 'Hello Chasboon!', function (err) {
  if (err) throw err;
  console.log('Saved!');
});

متد ()fs.open یک علامت "پرچم" را به عنوان آرگومان دوم می گیرد، اگر پرچم "w" برای "نوشتن" باشد، فایل مشخص شده برای نوشتن باز می شود. اگر فایل وجود نداشته باشد، یک فایل خالی ایجاد می شود:

var fs = require('fs');

fs.open('mynewfile2.txt', 'w', function (err, file) { // فایل برای نوشتن باز می شود
  if (err) throw err;
  console.log('Saved!');
});

متد ()fs.writeFile با فایل و محتوای مشخص شده در صورت وجود، جایگزین خواهد شد. اگر فایل وجود نداشته باشد، یک فایل جدید حاوی محتوای مشخص شده ایجاد خواهد شد:

var fs = require('fs');

fs.writeFile('mynewfile3.txt', 'Hello Chasboon!', function (err) {
  if (err) throw err;
  console.log('Saved!');
});

آپدیت فایل در Node Js

همچنین برای آپدیت فایل دو متد داریم:

  • ()fs.appendFile
  • ()fs.writeFile

متد ()fs.appendFile محتوی مشخص شده را در انتهای فایل مشخص شده اضافه می کند:

var fs = require('fs');

fs.appendFile('mynewfile1.txt', ' This is my text.', function (err) {
  if (err) throw err;
  console.log('Updated!');
});

با کمک متد ()fs.writeFile فایل فعلی جایگزین فایل و محتوای مشخص شده می شود:

var fs = require('fs');

fs.writeFile('mynewfile3.txt', 'This is my text', function (err) {
  if (err) throw err;
  console.log('Replaced!');
});

حذف فایل در Node Js

برای پاک کردن یک فایل با ماژول File System، از متد ()fs.unlink استفاده کنید.

متد ()fs.unlink فایل مشخص شده را delete می کند:

var fs = require('fs');

fs.unlink('mynewfile2.txt', function (err) {
  if (err) throw err;
  console.log('File deleted!');
});

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

Join the conversation

You can post now and register later. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .
Note: Your post will require moderator approval before it will be visible.

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به عنوان یک لینک به جای

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.