在此不概述 Node.JS 的歷史以及發展過程。html
由於以前接觸過經過 Java 開發語言,因此明確地知道一個服務器所需的文件,以及一個服務器所須要的操做。前端
那麼,咱們細分一下,全部的服務器都至少須要什麼呢?node
這三者是最重要的服務器基礎功能:數據庫
靜態文件是相似如圖片、CSS、JS、HTML等前端須要的界面資源express
路由分發則是當瀏覽器 OR 客戶端訪問某個URL地址時,服務器會自行解析並分發給某段處理代碼中。npm
而數據庫鏈接則是將數據保存至磁盤(即數據庫)而不至於關閉服務器便消失了(靜態服務器可忽略數據庫)json
一個服務器最要緊的是讓瀏覽器訪問到相關 URL 時,就會自行解析 URL ,以後分發給相關處理程序進行處理,即路由分發功能。瀏覽器
因此第一步,讓咱們瞭解一個 Node.JS 項目的基礎文件並知道怎樣進行建立。服務器
npm 是一個包管理器,它能夠對項目的依賴文件進行加載,卸載等操做,同時能夠建立一個項目的配置文件(package.json)(目前我初學瞭解的)
一樣的,一個項目須要怎樣的依賴環境,都須要 npm 來配置cookie
打開文件管理器,在你想要的索引位置上新建一個文件夾,文件夾的名稱便是項目名
打開 DOS / 終端 ,執行 npm 進行項目的建立(注意,在項目的當前文件夾)
npm init
將會在項目目錄下建立一個 package.json 文件
箭頭所指的便是建立過程當中填寫的配置信息,比方:author,指的是開發者名稱,而 main,指的是初始化時指定的主文件入口
至於其它,我相信網上有一個更全面的 配置文件屬性介紹文章。
建立好 package.json 後,需再建立項目必備文件夾以及文件(有些方法能夠一鍵生成,這裏不做推薦)
注意:package-lock.json 沒必要手動建立,以及 node_modules 文件夾亦無需建立。
僅需建立:bin、public、routes、views 文件夾,同時建立一個名爲 app.js ,它將做爲主函數入口。
【重要】請在 package.json 中手動將其中的 main 屬性配置爲 app.js ( 自動生成的默認爲 index.js )
引言:
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 部分
配置文件中的這兩個屬性,具體區別能夠在網絡中搜索一下,相信會有更好的解釋,這裏不做說明。
// 引入 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 的緣故,並不影響網址的訪問。
在項目根目錄中打開 DOS / 終端,執行 node app.js
終端出現的錯誤請忽略,由於出於習慣我老是拼寫成 note,如今已經不會犯一樣的錯誤了。
到這裏,你也能夠訪問到 node.js 服務器了。
至於框架類的學習,後續再發一篇文章,順便,我也須要練手一些項目了。
2020-02-11 寫於揭陽
轉載請附上本博客地址:https://www.cnblogs.com/chongsaid/ 或當前文章連接。
原文出處:https://www.cnblogs.com/chongsaid/p/nodejs_getStart.html