Πώς να γράψετε την πρώτη σας εφαρμογή Node.js στο Linux


Οι τάσεις ανάπτυξης ιστού έχουν αλλάξει άρδην τα τελευταία χρόνια και ως προγραμματιστής ιστού, για να είστε στην κορυφή του παιχνιδιού σας, είναι σημαντικό να παραμένετε ενημερωμένοι με τις πιο πρόσφατες τεχνολογίες.

Η JavaScript είναι η τρέχουσα δημοφιλής γλώσσα προγραμματισμού εκεί έξω. Είναι χωρίς αμφιβολία η πιο δημοφιλής τεχνολογία που χρησιμοποιείται από προγραμματιστές full stack.

Τα πλαίσια web JavaScript έχουν γίνει μια μαγική λύση για ταχύτερη ανάπτυξη ιστού με απόλυτη αποτελεσματικότητα, ασφάλεια και ελαχιστοποιημένο κόστος. Είμαι βέβαιος ότι έχετε ακούσει για το Node JavaScript (κοινώς αναφέρεται ως Node.js ή απλά Node), υπάρχει πολύς κόσμος σχετικά με αυτό στο Ιντερνετ.

Σε αυτό το άρθρο, θα σας δείξω πώς να ξεκινήσετε με την ανάπτυξη εφαρμογών σε JavaScript χρησιμοποιώντας το Node.js στο Linux. Αλλά πρώτα, ας κάνουμε μια σύντομη εισαγωγή στο Node.js.

Τι είναι το Node.js;

Το Node.js είναι ένας ανοιχτός κώδικας, ελαφρύς και αποτελεσματικός χρόνος εκτέλεσης JavaScript που βασίζεται στη μηχανή JavaScript V8 του Chrome. Είναι σχεδιασμένο χωρίς νήματα (μονόκλωστο) και έχει παρόμοια υλοποίηση με το Twisted, μια μηχανή δικτύωσης που δημιουργήθηκε με χρήση Python ή Event Machine, μια βιβλιοθήκη επεξεργασίας συμβάντων για προγράμματα Ruby.

Η καρδιά του Node.js βασίζεται στον προγραμματισμό που βασίζεται σε συμβάντα. Επομένως, ένας προγραμματιστής θα πρέπει να κατανοήσει ποια συμβάντα είναι διαθέσιμα και πώς να ανταποκριθεί σε αυτά.

Διαχείριση πακέτων στο Node.js

Το Node.js χρησιμοποιεί τον διαχειριστή πακέτων JavaScript και το οικοσύστημα που ονομάζεται “npm ”, το οποίο περιέχει μια τεράστια συλλογή από δωρεάν βιβλιοθήκες ανοιχτού κώδικα. Υποστηρίζει την ανάπτυξη αρθρωτών λογισμικού. Μπορείτε να το χρησιμοποιήσετε για να εγκαταστήσετε πακέτα κόμβων, να μοιραστείτε, να διανείμετε τον κώδικά σας και να διαχειριστείτε τις εξαρτήσεις πακέτων.

Γιατί είναι σημαντικό το Node.js;

Το Node.js είναι ισχυρό και επομένως σημαντικό για τους ακόλουθους λόγους:

  • Χρησιμοποιεί ένα ασύγχρονο μοντέλο εκτέλεσης που βασίζεται σε συμβάντα, χωρίς αποκλεισμό I/O, το οποίο βελτιώνει την απόδοση μιας εφαρμογής και υποστηρίζει την επεκτασιμότητα για εφαρμογές web του πραγματικού κόσμου.
  • Είναι με ένα σπείρωμα, επομένως μπορεί να χρησιμοποιήσει μόνο 1 CPU ανά πάσα στιγμή.
  • Μια εφαρμογή web node.js είναι ένας πλήρης διακομιστής ιστού, για παράδειγμα Nginx ή Apache.
  • Υποστηρίζει νήματα μέσω του child_process.fork() API, για τη δημιουργία θυγατρικών διεργασιών και προσφέρει επίσης μια λειτουργική μονάδα συμπλέγματος.

Με αυτήν τη σύντομη εισαγωγή, πρέπει να είστε πρόθυμοι να γράψετε το πρώτο σας πρόγραμμα JavaScript. Ωστόσο, πρώτα πρώτα, πρέπει να εγκαταστήσετε τα πακέτα Node.js και NPM στο σύστημα Linux σας χρησιμοποιώντας τον ακόλουθο οδηγό.

  1. Εγκαταστήστε την τελευταία έκδοση Nodejs και NPM σε συστήματα Linux

Πώς να δημιουργήσετε την πρώτη σας εφαρμογή Node.js στο Linux

Αφού εγκαταστήσετε το Node.js, είστε έτοιμοι να ξεκινήσετε. Αρχικά ξεκινήστε δημιουργώντας έναν κατάλογο που θα αποθηκεύει τα αρχεία της εφαρμογής σας.

sudo mkdir -p /var/www/myapp

Στη συνέχεια, μετακινηθείτε σε αυτόν τον κατάλογο και δημιουργήστε ένα αρχείο package.json για την εφαρμογή σας. Αυτό το αρχείο βοηθά ως μια μικρή τεκμηρίωση για το έργο σας: όνομα έργου, συγγραφέας, λίστα πακέτων από τα οποία εξαρτάται και ούτω καθεξής.

cd /var/www/myapp
npm init

Αυτό θα σας κάνει μια σειρά από ερωτήσεις, απλά απαντήστε όπως περιγράφεται παρακάτω και πατήστε [Enter]. Σημειώστε ότι τα πιο σημαντικά πράγματα στο package.json είναι τα πεδία ονόματος και έκδοσης όπως εξηγούνται παρακάτω.

  • όνομα πακέτου – το όνομα της εφαρμογής σας είναι από προεπιλογή το όνομα του καταλόγου.
  • έκδοση – έκδοση της εφαρμογής σας.
  • περιγραφή – γράψτε μια σύντομη περιγραφή για την εφαρμογή σας.
  • σημείο εισόδου – ορίζει το αρχείο προεπιλεγμένων πακέτων που θα εκτελεστούν.
  • εντολή δοκιμής – χρησιμοποιείται για τη δημιουργία δοκιμαστικής δέσμης ενεργειών (από προεπιλογή σε κενό σενάριο).
  • αποθετήριο git – ορίστε ένα αποθετήριο Git (αν έχετε).
  • λέξεις-κλειδιά – ορίστε λέξεις-κλειδιά, σημαντικές για άλλους χρήστες να αναγνωρίζουν το πακέτο σας στο npm.
  • συγγραφέας – καθορίζει το όνομα του συγγραφέα, βάλτε το όνομά σας εδώ.
  • άδεια – καθορίστε μια άδεια για την εφαρμογή/πακέτο σας.

Στη συνέχεια, δημιουργήστε ένα αρχείο server.js.

sudo vi server.js

Αντιγράψτε και επικολλήστε τον παρακάτω κώδικα σε αυτό.

var http = require('http');
http.createServer(function(req,res){
        res.writeHead(200, { 'Content-Type': 'text/plain' });
        res.end('Hello World!');
}).listen(3333);
console.log('Server started on localhost:3333; press Ctrl-C to terminate...!');

Στη συνέχεια, ξεκινήστε την εφαρμογή σας χρησιμοποιώντας την ακόλουθη εντολή.

node server.js
OR
npm start

Στη συνέχεια, ανοίξτε ένα πρόγραμμα περιήγησης ιστού και αποκτήστε πρόσβαση στην εφαρμογή Ιστού σας, η οποία δεν κάνει τίποτα άλλο από το να εκτυπώνει τη συμβολοσειρά «Γεια σου κόσμο! ”, χρησιμοποιώντας τη διεύθυνση:

http://localhost:3333

Στον παραπάνω κώδικά μας, το κύριο συμβάν που υποβάλλεται σε επεξεργασία είναι ένα αίτημα HTTP μέσω της μονάδας HTTP.

Η μονάδα HTTP Nodejs

Στο Node.js, οι λειτουργικές μονάδες μοιάζουν περισσότερο με βιβλιοθήκες JavaScript, περιέχουν λειτουργίες που μπορείτε να χρησιμοποιήσετε ξανά στην εφαρμογή σας. Μπορείτε να χρησιμοποιήσετε ενσωματωμένες μονάδες, τριάντα μονάδες πάρτι ή να δημιουργήσετε τις δικές σας.

Για να καλέσετε λειτουργικές μονάδες στην εφαρμογή σας, χρησιμοποιήστε τη λειτουργία απαίτησης όπως φαίνεται.

var http = require('http');

Μόλις συμπεριληφθεί η λειτουργική μονάδα http, θα δημιουργήσει έναν διακομιστή που ακούει σε μια συγκεκριμένη θύρα (3333 σε αυτό το παράδειγμα). Η μέθοδος http.creatServer δημιουργεί τον πραγματικό διακομιστή http που δέχεται μια συνάρτηση (η οποία καλείται όταν ένας πελάτης προσπαθεί να αποκτήσει πρόσβαση στην εφαρμογή) ως όρισμα.

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

Η συνάρτηση στο http.createServer έχει δύο ορίσματα: req(request) και res(response). Το όρισμα req είναι το αίτημα από έναν χρήστη ή πελάτη και το όρισμα res στέλνει μια απάντηση στον πελάτη.

res.writeHead(200, { 'Content-Type': 'text/plain' });		#This is a response HTTP header
res.end('Hello World!');

Το τελευταίο μέρος του κώδικα στέλνει έξοδο στην κονσόλα, μόλις εκκινηθεί ο διακομιστής.

console.log('Server started on localhost:3333; press Ctrl-C to terminate...!');

Δρομολόγηση στο Node.js

Σε αυτήν την ενότητα, θα εξηγήσω μια από τις πιο σημαντικές έννοιες στον προγραμματισμό Node.js, γνωστή ως δρομολόγηση (συγκρίσιμη με τη δρομολόγηση στο πλαίσιο δικτύωσης υπολογιστών: διαδικασία εύρεσης διαδρομής για την κυκλοφορία σε ένα δίκτυο).

Εδώ, η δρομολόγηση είναι μια τεχνική διαχείρισης του αιτήματος ενός πελάτη. που εξυπηρετεί το περιεχόμενο που έχει ζητήσει ο πελάτης, όπως ορίζεται στη διεύθυνση URL. Μια διεύθυνση URL αποτελείται από μια διαδρομή και μια συμβολοσειρά ερωτήματος.

Για να προβάλουμε τη συμβολοσειρά ερωτήματος ενός πελάτη, μπορούμε να προσθέσουμε τις παρακάτω γραμμές στην απάντησή μας.

res.write(req.url);
res.end()

Παρακάτω είναι ο νέος κωδικός.

var http = require('http');
http.createServer(function(req,res){
        res.writeHead(200, { 'Content-Type': 'text/plain' });
        res.write(req.url);
      res.end();		
      }).listen(3333);
console.log('Server started on localhost:3333; press Ctrl-C to terminate...!');

Αποθηκεύστε το αρχείο και ξεκινήστε ξανά την εφαρμογή σας χρησιμοποιώντας την παρακάτω εντολή.

node server.js
OR
npm start

Από ένα πρόγραμμα περιήγησης ιστού, πληκτρολογήστε διαφορετικές διευθύνσεις URL που θα εμφανιστούν όπως φαίνεται παρακάτω.

http://localhost:3333
http://localhost:3333/about
http://localhost:3333/tecmint/authors

Τώρα, θα δημιουργήσουμε έναν πραγματικά μικρό ιστότοπο για το Tecmint με μια αρχική σελίδα, σελίδες σχετικά με και συγγραφείς. Θα εμφανίσουμε ορισμένες πληροφορίες σε αυτές τις σελίδες.

Ανοίξτε το αρχείο server.js για επεξεργασία και προσθέστε τον παρακάτω κώδικα σε αυτό.

//include http module 
var http = require('http');

http.createServer(function(req,res){
	//store URL in variable q_string

	var q_string = req.url;
	switch(q_string) {
		case '/':
                        	res.writeHead(200, { 'Content-Type': 'text/plain' });
                        	res.write('Welcome To linux-console.net!')
                        	res.end();
                        	break;
                	case '/about':
                		res.writeHead(200, { 'Content-Type': 'text/plain' });
                        	res.write('About Us');
                        	res.write('\n\n');
                        	res.write('linux-console.net - Best Linux HowTos on the Web.');
                        	res.write('\n');
                        	res.end('Find out more: https://linux-console.net/who-we-are/');
                        	break;
                	case '/tecmint/authors':
                        	res.writeHead(200, { 'Content-Type': 'text/plain' });
                        	res.write('Tecmint Authors');
                        	res.write('\n\n');
                        	res.end('Find all our authors here: https://linux-console.net/who-we-are/');
                        	break;
                	default:
                       		res.writeHead(404, { 'Content-Type': 'text/plain' });
                       		res.end('Not Found');
                        	break;
	}
}).listen(3333);
console.log('Server started on localhost:3333; press Ctrl-C to terminate....');

Στον παραπάνω κώδικα, είδαμε πώς να γράφουμε σχόλια στο Node.js χρησιμοποιώντας τους χαρακτήρες // και επίσης εισαγάγαμε δηλώσεις μεταγωγής και κεφαλαίων για τη δρομολόγηση αιτημάτων πελατών.

Αποθηκεύστε το αρχείο, ξεκινήστε τον διακομιστή και δοκιμάστε να αποκτήσετε πρόσβαση στις διάφορες σελίδες.

Αυτό είναι προς το παρόν! Μπορείτε να βρείτε περισσότερες πληροφορίες στους ιστότοπους Nodejs και NPM.

Διαβάστε επίσης: Πώς να εγκαταστήσετε το PM2 για να εκτελέσετε εφαρμογές Node.js σε Linux

συμπέρασμα

Το Node.js ανεβαίνει σε νέα υψηλά σήμερα, έχει κάνει την ανάπτυξη full-stack πολύ πιο εύκολη από πριν. Η μοναδική φιλοσοφία του προγραμματισμού με γνώμονα τα συμβάντα σάς δίνει τη δυνατότητα να δημιουργήσετε αστραπιαία, αποτελεσματικές και επεκτάσιμες διεργασίες και διακομιστές ιστού.

Στη συνέχεια, θα εξηγήσουμε τα πλαίσια Node.js, τα οποία επεκτείνουν τις εγγενείς δυνατότητές του για γρήγορη και αξιόπιστη ανάπτυξη εφαρμογών ιστού/κινητών. Μοιραστείτε τις σκέψεις σας σχετικά με αυτό το άρθρο μέσω της ενότητας σχολίων παρακάτω.