1. 程式人生 > >如何快速搭建一個 Node.JS 專案並進入開發?

如何快速搭建一個 Node.JS 專案並進入開發?

瞭解:如何快速搭建一個專案並進入開發?

在此不概述 Node.JS 的歷史以及發展過程。

 

因為之前接觸過通過 Java 開發語言,所以明確地知道一個伺服器所需的檔案,以及一個伺服器所需要的操作。

那麼,我們細分一下,所有的伺服器都至少需要什麼呢?

  • 靜態檔案訪問
  • 路由分發
  • 資料庫連線

這三者是最重要的伺服器基礎功能:

  靜態檔案是類似如圖片、CSS、JS、HTML等前端需要的介面資源

  路由分發則是當瀏覽器 OR 客戶端訪問某個URL地址時,伺服器會自行解析並分發給某段處理程式碼中。

  而資料庫連線則是將資料儲存至磁碟(即資料庫)而不至於關閉伺服器便消失了(靜態伺服器可忽略資料庫)

 

一個伺服器最要緊的是讓瀏覽器訪問到相關 URL 時,就會自行解析 URL ,之後分發給相關處理程式進行處理,即路由分發功能。

所以第一步,讓我們瞭解一個 Node.JS 專案的基礎檔案並知道怎樣進行建立。

 

1.1 引入 npm 概念

npm 是一個包管理器,它可以對專案的依賴檔案進行載入,解除安裝等操作,同時可以建立一個專案的配置檔案(package.json)(目前我初學瞭解的)
同樣的,一個專案需要怎樣的依賴環境,都需要 npm 來配置

 

1.2 建立一個 Node.JS 專案

開啟檔案管理器,在你想要的索引位置上新建一個資料夾,資料夾的名稱即是專案名

開啟 DOS / 終端 ,執行 npm 進行專案的建立(注意,在專案的當前資料夾)

npm init

 

將會在專案目錄下建立一個 package.json 檔案

 

箭頭所指的即是建立過程中填寫的配置資訊,比方:author,指的是開發者名稱,而 main,指的是初始化時指定的主檔案入口

至於其它,我相信網上有一個更全面的 配置檔案屬性介紹文章。

 

建立好 package.json 後,需再建立專案必備資料夾以及檔案(有些方法可以一鍵生成,這裡不作推薦)

 

1.3 建立專案必備資料夾以及檔案

 

 

注意:package-lock.json 不必手動建立,以及 node_modules 資料夾亦無需建立。

僅需建立:bin、public、routes、views 資料夾,同時建立一個名為 app.js ,它將作為主函式入口。

 

【重要】請在 package.json 中手動將其中的 main 屬性配置為 app.js ( 自動生成的預設為 index.js )

 

1.4 安裝 Express 框架

 

引言:

  express 框架是 node.js 官方唯一推薦的框架(當前,從一些書上了解的)

  所以我覺得,它應該可以作為入門框架,同時可以開發一些小專案。

 

安裝:在當前的專案根目錄中開啟 DOS / 終端,之後執行以下命令:

 

npm install express -save

 

關於 npm 安裝引數中的 -save 或是 -dev 的說明:

當專案中依賴某個模組時,或者專案中使用的某個模組依賴另外一個模組時,正常情況下需要安裝它們。

一般而言,模組依賴什麼模組,便會在其 package.json 中的 dependencies 寫上需要什麼依賴模組。

比如 express 框架的 package.json :

我們再來看看它其中的的內容,沒有全部複製,僅複製其中的 dependencies 屬性

"dependencies": {
    "accepts": "~1.3.7",
    "array-flatten": "1.1.1",
    "body-parser": "1.19.0",
    "content-disposition": "0.5.3",
    "content-type": "~1.0.4",
    "cookie": "0.4.0",
    "cookie-signature": "1.0.6",
    "debug": "2.6.9",
    "depd": "~1.1.2",
    "encodeurl": "~1.0.2",
    "escape-html": "~1.0.3",
    "etag": "~1.8.1",
    "finalhandler": "~1.1.2",
    "fresh": "0.5.2",
    "merge-descriptors": "1.0.1",
    "methods": "~1.1.2",
    "on-finished": "~2.3.0",
    "parseurl": "~1.3.3",
    "path-to-regexp": "0.1.7",
    "proxy-addr": "~2.0.5",
    "qs": "6.7.0",
    "range-parser": "~1.2.1",
    "safe-buffer": "5.1.2",
    "send": "0.17.1",
    "serve-static": "1.14.1",
    "setprototypeof": "1.1.1",
    "statuses": "~1.5.0",
    "type-is": "~1.6.18",
    "utils-merge": "1.0.1",
    "vary": "~1.1.2"
  }

這樣一來,需要什麼依賴便知道得一清二楚了。

但是我們的專案,總不能說模組依賴什麼時,我們手動加上,如果有成千上百個依賴模組呢

所以,引入了 npm -save 的概念,也就是當你為專案安裝什麼模組時,它會把這個模組的名稱,版本寫入你的專案依賴中

-save 和 -save -dev 省掉了手寫或修改 package.json 的步驟,各自功能如下:

-save :自動將模組和版本號新增到 dependencies 部分

-save -dev :自動將模組和版本號新增到 devdependencies 部分

 

配置檔案中的這兩個屬性,具體區別可以在網路中搜索一下,相信會有更好的解釋,這裡不作說明。

 

1.5 編寫 app.js 檔案

// 引入 express 框架 -> 需 npm 安裝
var express = require('express');

/**
 * 初始化框架,並將初始化後的函式給予 '當前頁面'全域性變數 app
 * 也就是說, app 是 express 
 */
var app = express();


/* 配置框架環境 S */


// 設定 public 為靜態檔案的存放資料夾
app.use('/public', express.static('public'));


/* 配置框架環境 E */


app.get('/', function(req, res) {
    res.send('Hello World');
})

var server = app.listen(8081, function() {

    var host = server.address().address
    var port = server.address().port
    
    console.log("Node.JS 伺服器已啟動,訪問地址: http://%s:%s", host, port)

})

注意:部分網路中,訪問地址會出現  http://:::8081 的情況,在瀏覽器中輸入 localhost:8081 便可以訪問了。

因為 Node.JS 啟用了 IPv6 的緣故,並不影響網址的訪問。

 

1.6 啟動伺服器

在專案根目錄中開啟 DOS / 終端,執行 node app.js 

 

 

終端出現的錯誤請忽略,因為出於習慣我總是拼寫成 note,現在已經不會犯同樣的錯誤了。

到這裡,你也可以訪問到 node.js 伺服器了。

 

至於框架類的學習,後續再發一篇文章,順便,我也需要練手一些專案了。

 

 

2020-02-11 寫於揭陽

轉載請附上本部落格地址:https://www.cnblogs.com/chongsaid/ 或當前文章鏈