如何快速搭建一個 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/ 或當前文章鏈