node 是 js 的執行的後台環境,他自身整合了很多模組,整合的模組直接 require 就行了;
npm 第三方平台,他也是為 node 服務的,對於 npm 中的模組,先 npm install 然後在使用
node 就是給 js 提供了乙個執行環境,其他任何事情都幹不了
1. 建立乙個伺服器 http 模組,服務為請求響應,
listen 用來繫結網域名稱和埠,listen("埠","網域名稱");
request 客戶端向服務端傳送的都在這個物件中
response 響應
response.end() 用於結束響應,返回給客戶端東西
var http=require("http"); // 建立伺服器使用的模組 http
var fs =require("fs"); // 檔案處理模組
響應頭: res.writehead(200,); 200 狀態碼 mime 型別(重要) text/html 返回的檔案型別,向 css 檔案,返回的就是 text/css 這樣瀏覽器才能正常的解析,否則,解析不成功,都是字串;
讀取檔案內容: fs.readfile("./static"+檔名,function(err,data){ // 這種寫法 就會把 static 當成 根目錄
if(err){
throw err // 丟擲錯誤
響應體: res.end(data) // data 便是讀取檔案的資料, res.end() // 代表向瀏覽器響應的資料(將讀取的檔案返回出去)
nodejs 扮演了伺服器的角色,服務端的功能,響應瀏覽器的請求
為什麼在 node 下引入檔案不起作用,在 php 下可以呢?
php 他在使用的時候都整合了伺服器的環境,存在根目錄這個概念
不同的請求,根據位址來檢視實現
伺服器的響應是根據請求的位址,找到對應的資料
注意:每個伺服器,只有乙個響應體,也就是說,我只響應一下,然後就不響應了,並不是說,我可以多次響應
fs 模組:操作檔案的模組
其中最常用的 便是 讀取檔案 fs.readfile() 要響應給 瀏覽器的話,我們需要設定響應頭,最重要的是 mime 型別,及中文編碼
pathname 路徑
query 引數
文字 mime 型別 text/plain
如果沒有動 伺服器的**,則伺服器不需要重啟,但要是改了伺服器的**,伺服器必須重啟
伺服器:
請求必須響應,響應沒處理,就有可能導致鏈結失敗
前端的學 nodejs 的悲哀:
除了業務邏輯我們可以做,剩下的只能用 node 自帶的,或第三方的模組
我們想要獲取檔案路徑的拓展名,
path 模組
path.extname() 獲取檔案路徑的拓展名
想讓乙個目錄是根目錄,那麼根目錄在前端的**上是隱藏的,在後台的上才知道誰是根目錄
完整案例:
nodejs配置簡單HTTP伺服器
http server 是乙個簡單的零配置命令列http伺服器,基於 nodejs.如果你不想重複的寫 nodejs 的 web server.js,則可以使用這個.npm install g http server安裝成功如下 在站點目錄下開啟命令列輸入 執行結果如圖 在瀏覽器輸入 結果如下 p ...
nodejs配置簡單HTTP伺服器
http server 是乙個簡單的零配置命令列http伺服器,基於 nodejs.如果你不想重複的寫 nodejs 的 web server.js,則可以使用這個.npm install g http server安裝成功如下 在站點目錄下開啟命令列輸入 執行結果如圖 在瀏覽器輸入 結果如下 p ...
linux伺服器安裝配置nodejs
在終端上傳安裝檔案 scp node v10.8.0 linux x64.tar.xz root 伺服器ip root tools,回車,輸入密碼 進入伺服器 ssh root 伺服器ip,回車,輸入密碼 tar root tools node v10.8.0 linux x64.tar.xz,會生...