2021-05-12 14:32:11
如何在Linux中編寫您的第一個Node.js應用程式
Web開發趨勢在過去幾年中發生了巨大變化,作為Web開發人員,要想在遊戲中處於領先地位,保持最新技術的最新狀態非常重要。
JavaScript是當前流行的程式語言;毫無疑問,它是全棧開發人員使用的最流行的技術。
JavaScript Web框架已成為更快的Web開發的神奇解決方案,具有絕對的效率,安全性和最小的成本。我很確定你聽說過Node JavaScript(通常稱為Node.js或簡稱Node)。
在本文中,我將向您展示如何使用Linux中的Node.js開始使用JavaScript開發應用程式。但首先,讓我們簡要介紹一下Node.js.
什麼是Node.js?
Node.js是一個基於Chrome的V8 JavaScript引擎構建的開源,輕量級和高效的JavaScript執行時。它的設計沒有執行緒(單執行緒),並且與Twisted類似,後者是一個使用Python或Event Machine構建的網路引擎,這是一個用於Ruby程式的事件處理庫。
Node.js的核心是基於事件驅動的程式設計;因此,程式設計師應該了解可用的事件以及如何響應它們。
Node.js下的包管理
Node.js使用名為“npm”的JavaScript包管理器和生態系統,其中包含大量免費的開源庫。它支援模組化軟體開發。您可以使用它來安裝Node包,共用,分發程式碼和管理包依賴關係。
為什麼Node.js很重要?
Node.js是一個強大的,因此很重要,原因如下:
- 它使用非同步事件驅動的非阻塞I/O執行模型,可提高應用程式的吞吐量並支援實際Web應用程式的可伸縮性。
- 它是單執行緒的,因此在任何給定時間它只能使用1個CPU。
- node.js Web應用程式是一個完整的Web伺服器,例如Nginx或Apache。
- 它通過child_process.fork()支援執行緒,用於生成子進程,還提供了一個叢集模組。
通過這個簡短的介紹,您可能急於編寫您的第一個JavaScript程式。但是,首先,您需要使用以下指南在Linux系統上安裝Node.js和NPM軟體包。
如何在Linux中建立您的第一個Node.js應用程式
一旦安裝了Node.js,就可以開始了。首先建立一個儲存應用程式檔案的目錄。
$ sudo mkdir -p /var/www/myapp
然後進入該目錄並為您的應用程式建立package.json檔案。 此檔案有助於作為專案的小文件:專案名稱,作者,依賴的包列表等。
$ cd /var/www/myapp
$ npm init
這將詢問您一些問題,只需按照下面的說明進行回答,然後按[Enter]。 請注意,package.json中最重要的事情是名稱和版本欄位,如下所述。
- package name - 您的應用名稱,預設為目錄名稱。
- version - 您的應用程式的版本。
- description - 為您的應用編寫簡短說明。
- entry point - 設定要執行的預設包檔案。
- test command - 用於建立測試指令碼(預設為空指令碼)。
- git repository - 定義一個Git儲存庫(如果有的話)。
- keywords - 設定關鍵字,對於其他使用者在npm上識別您的包很重要。
- author - 指定作者姓名,在此處輸入您的姓名。
- license - 為您的應用/包指定許可證。
接下來,建立一個server.js檔案。
$ sudo nano server.js
複製並貼上下面的程式碼。
var http = require('http');
http.createServer(function(req,res){
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello World!www.linuxidc.com');
}).listen(8080);
console.log('Server started on localhost:8080; press Ctrl-C to terminate...!');
接下來,使用以下命令啟動應用程式。
$ node server.js
或者
$ npm start
接下來,開啟Web瀏覽器並存取您的Web應用程式,該應用程式將列印字串“Hello World!www.linuxidc.com”,使用地址:
http://localhost:8080
從瀏覽器存取Nodejs應用程式
在上面的程式碼中,正在處理的主要事件是通過HTTP模組的HTTP請求。
Nodejs HTTP模組
在Node.js中,模組更像是JavaScript庫,它們包含可以在應用程式中重用的函數。 您可以使用內建模組,30個party模組或建立自己的模組。
要在應用程式中呼叫模組,請使用require函數,如圖所示。
var http = require('http');
一旦包含http模組,它將建立一個偵聽特定埠的伺服器(在此範例中為8080)。 http.creatServer方法建立實際的http伺服器,該伺服器接受一個函數(在用戶端嘗試存取應用程式時呼叫)作為引數。
http.createServer(function(req,res){
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello World!www.linuxidc.com');
}).listen(8080);
http.createServer中的函數有兩個引數:req(request)和res(response)。 req引數是來自使用者或用戶端的請求,res引數向用戶端傳送回復。
res.writeHead(200, { 'Content-Type': 'text/plain' }); #這是響應HTTP檔頭
res.end('Hello World!www.linuxidc.com');
一旦伺服器啟動,程式碼的最後部分就會將輸出傳送到控制台。
console.log('Server started on localhost:8080; 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(8080);
console.log('Server started on localhost:8080; press Ctrl-C to terminate...!');
使用以下命令儲存檔案並再次啟動應用程式。
$ node server.js
或者
$ npm start
在Web瀏覽器中輸入不同的URL,如下所示。
檢視客戶的應用程式請求
現在,我們將為Linux公社www.linuxidc.com建立一個非常小的網站,其中包含主頁,關於和作者頁面。 我們將在這些頁面上顯示一些資訊。
開啟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('歡迎光臨www.linuxidc.com!')
res.end();
break;
case '/aboutus':
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.write('關於Linux公社');
res.write('nn');
res.write('Linux公社(www.linuxidc.com)是專業的Linux系統入口網站!');
res.write('n');
res.end('了解更多: https://www.linuxidc.com/aboutus.htm');
break;
case '/contactus:
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.write('聯絡我們');
res.write('nn');
res.end('聯絡我們: https://www.linuxidc.com/contactus.htm');
break;
default:
res.writeHead(404, { 'Content-Type': 'text/plain' });
res.end('Not Found');
break;
}
}).listen(1688);
console.log('Server started on localhost:1688; press Ctrl-C to terminate....');
總結
Node.js在今天達到了新的高度,它使得全棧開發比以前容易多了。事件驅動程式設計的獨特哲學使您能夠快速、高效和可伸縮地建立web流程和伺服器。
接下來,我們有空將再講述Nodejs架,它擴充套件了自己的原生功能,可以快速可靠地開發Web/移動應用程式。請通過下面的評論部分分享您對本文的看法。
相關文章