① 用node搭建簡單的伺服器
有時候我們前端調研調試一些技術點需要在伺服器調試的情況下,例如ajax psot請求等等,就需要自己搭建一個伺服器,我們用node搭建一個簡單的伺服器
www下放的是靜態文件,例如css,js,img等,其實www也可以叫別的名字,都可以,server.js就是搭建伺服器的根文件
例如我們請求一個鏈接: http://localhost/index ,那麼就返回 index.html 的內容,如果index.html裡面引用了其他的靜態文件,也需要返回這些靜態文件,因為我們存放靜態文件的文件夾是 www ,所以在 else 返回這些靜態文件內容時,需要將路徑 ./www 拼接上,不然會找不到文件
② 如何使用nodejs快速搭建本地伺服器
[linux運維]
1、下載最新node.js二進制源碼安裝包(28.59MB)
wget -c https://nodejs.org/dist/v8.1.3/node-v8.1.3.tar.gz
wget是一個Linux下載文件的工具,centos自帶。
wget -c 是斷點續傳下載方式,後面的URL就是提供下載文件的地址
默認獲取的文件地址在/root目錄下,命令pwd顯示當前目錄
2、安裝必要的編譯軟體
yum install gcc gcc-c++
yum = Yellow dog Updater, Modified。改良黃狗更新器,centos自帶智能包管理器。
中途詢問,輸入y
Is this ok [y/d/N] :y
3、解壓源碼
tar -zxvf node-v8.1.3.tar.gz
當前目錄/root/就會多一個node-v8.1.3的文件夾
3、編譯node源碼包
1)進入到node源碼包解壓目錄
cd node-v8.1.3
指定NodeJS安裝位置
./configure --prefix=/usr/local/node
執行安裝文件,足足等了40多分鍾
make && make install
4、添加環境變數
vim /etc/profile.d/node.sh
> 創建並打開新文件
[root@localhost node-v8.1.3]# vim /etc/profile.d/node.sh
> 輸入node安裝位置的bin目錄所在位置
export PATH=$PATH:/usr/local/node/bin
ESC 輸入:wq
提示: 命令輸入錯了
-bash: rt: command not found
使用su root
source /etc/profile.d/node.sh =
. /etc/profile.d/node.sh
③ 如何在node.js搭建伺服器
准備
首先,需要安裝nodejs,這個可以去官網下載,目前我本地安裝的v0.12版本。
安裝完成後可以通過命令行測試安裝是否成功,輸入:node -v,應該會顯示當前安裝node版本號。
本文中用到的模塊,都是nodejs核心模塊,不需要從外部下載,如果有需要,可以使用以下命令安裝:npm install xxx。
開始
下一步,新建js文件,可以命名為server.js,代碼如下:
var http = require('http');
var url = require('url');
var path = require('path');
var fs = require('fs');
var dir, arg = process.argv[2] || ''; // 命令行第三個參數,用來接收目錄,可為空,相對當前server.js文件的目錄名稱
// 比如使用命令 node server debug,意思就是debug文件夾與server.js文件同級
// 且你想以debug文件夾啟動web服務
http.createServer(function (req, res) {
var pathname = __dirname + url.parse(req.url).pathname;
dir = dir ? dir : pathname; // 記住dir(目錄)
pathname = dir ? pathname.replace(dir, dir + arg + '/') : pathname; // 替換文件靜態路徑
if (path.extname(pathname) == "") {
pathname += "/";
}
if (pathname.charAt(pathname.length - 1) == "/") {
pathname += "index.html"; // 入口文件,此處默認index.html
}
fs.exists(pathname, function (exists) {
if (exists) {
switch (path.extname(pathname)) {
case ".html":
res.writeHead(200, {"Content-Type": "text/html"});
break;
case ".js":
res.writeHead(200, {"Content-Type": "text/javascript"});
break;
case ".css":
res.writeHead(200, {"Content-Type": "text/css"});
break;
case ".gif":
res.writeHead(200, {"Content-Type": "image/gif"});
break;
case ".jpg":
res.writeHead(200, {"Content-Type": "image/jpeg"});
break;
case ".png":
res.writeHead(200, {"Content-Type": "image/png"});
break;
default:
res.writeHead(200, {"Content-Type": "application/octet-stream"});
}
// res可以自己添加信息來簡單交互 比如可以修改點header信息 或者修改返回的資源數據
fs.readFile(pathname, function (err, data) {
res.end(data);
});
}
else {
res.writeHead(404, {"Content-Type": "text/html"});
res.end("<h1>404 Not Found</h1>");
}
});
}).listen(8085, "127.0.0.5"); // 伺服器埠
console.log("server running at http://127.0.0.5:8085/");
啟動
當node安裝完成及上述server.js文件也新建好之後。將其與你要訪問的文件夾放在一起,可以放同層或者直接下層。比如,如果你要訪問d:\test\debug文件夾。
你可以先將當前文件放入同層或者直接下,然後輸入如下命令啟動web服務:
先打開`cmd`,進入server文件所在目錄,比如是`test`目錄;
然後輸入:`node server debug`(同層), 或者`node server`(子層),
此時會提示`server running at http://127.0.0.5:8085/`, 表示啟動服務成功;
最後打開瀏覽器,進入:`127.0.0.5:8085`,即可訪問此資源。
最後
簡單解釋下上面的代碼。
首先最上面的require表示需要用到那幾個模塊,先引用一下;
arg表示輸入的命令行的第三個參數,上面是做了手動截取;
createServer方法表示創建一個http服務,以函數為參數,本文代碼中傳入了一個匿名函數;
req,表示http request(請求)對象,其攜帶著來自客戶端此次http請求的相關信息,例如請求method、請求query參數、請求header頭信息等;
res,表示http response(返回)對象,用來給客戶端返回請求資源用,可以手動添加信息,例如返回的數據、返回的頭信息等、返回的code等;
fs,表示文件資源對象,具體可以訪問nodejs官網的api;
path,表示資源路徑對象,具體可以訪問nodejs官網的api。
listen表示創建的服務監聽,一旦訪問了此埠,將進入此前的匿名函數回調中,將資源返回給客戶端。
④ 怎樣用Node.js快速搭建伺服器
1. 下載Node.js官方非穩定版Windows可執行程序:
我在試驗中使用了0.5.7版本
2. 創建c:\nodejs目錄,並將node.exe保存在此目錄中
3. 下載express。因為依賴關系,我們還需要下載:connect、qs、mime和jade(express默認模板系統。如果你使用其他模板系統,需要下載相應系統)
4. 創建c:\nodejs\node_moles目錄,並在此目錄中分別創建[Mole]目錄。然後將上一步下載的文件壓縮,把相關文件拷貝到[Mole]目錄中。
node_moles
|- connect <= connect: lib/*
|- express <= express: lib/*
|- jade <= jade: lib/*
|- mime <= mime: mime.js & types/*
|- qs <= qs: lib/*
5. 在c:\nodejs\node_moles目錄,分別創建以下文件:
connect.js
內容:mole.exports = require('./connect/connect');
⑤ 在區域網中怎麼搭建node伺服器
1.安裝nodejs服務(從官網下載安裝),node相當於apache伺服器
2.在自己定義的目錄下新建伺服器文件如 server.js
例如,我在E:\PhpProject\html5\websocket下創建了server.js文件
var http = require('http');//引入http模塊
//開啟服務,監聽8888埠
//埠號最好為6000以上
var server = http.createServer(function(req,res){
console.log('有客戶端連接');//創建連接成功顯示在後台
⑥ 怎麼用node搭建伺服器
1.Node伺服器端監聽埠及開啟埠處理事件需引入 http 模塊。在Node中 引入其他模塊文件方法為: require(模塊名稱)。
2.Node中伺服器簡單處理還需引入的模塊有 fs(文件操作模塊)、url(路徑處理模塊)等。
代碼
service.js
//引入http模塊
varhttp=require('http');
//引入fs模塊
varfs=require('fs');
//引入url模塊
varurl=require('url');
//開啟本地http服務,監聽相應埠號
http.createServer(function(req,res){
//獲取requset信息中的host地址
varhostname=req.headers.host;
//獲取pathname
varpathname=url.parse(req.url).pathname;
//判斷是否為域名地址(簡單路由)
if(pathname==='/'){
readFileAndResponse('/index.html',res);
}
}).listen(埠);
//讀取文件並返回response
functionreadFileAndResponse(pathname,response){
//判斷文件是否存在
fs.readFile(pathname.substr(1),'',function(err,data){
//文件不存在或讀取錯誤返回404,並列印pagenotfound
if(err){
response.writeHead(404);
response.end('pagenotfound');
}
else{
//讀取成功返回相應頁面信息
response.end(data);
}
});
}
復制代碼
1.打開終端,進入service.js所在位置要是同一目錄。
註:不在service同目錄執行也會成功,但根據頁面的配置及目錄分布不同,容易出現css及js樣式無法顯示。
2.運行 node service.js 。
3.在瀏覽器中輸入:127.0.0.1:埠號 ok,頁面成功指向inde.html 。
web伺服器中:網址/公網IP:埠號,就可以被外網訪問。
⑦ nodejs搭建web伺服器就是這么簡單!
Node.js 是一個基於 Chrome V8 引擎的 JavaScript 運行環境。 Node.js 使用了一個事件驅動、非阻塞式 I/O 的模型,使其輕量又高效。Node.js 的包管理器 npm,是全球最大的開源庫生態系統。(nodejs官網上的介紹),正如官網上介紹的那樣,nodejs確實很牛!怎麼個牛法?看看下面的代碼就知道了。
//引入http模塊
var http = require("http");
//設置主機名
var hostName = 飗.0.0.1'
//設置埠
var port = 8080;
//創建服務
var server = http.createServer(function(req,res){
res.setHeader('Content-Type','text/plain');
res.end("hello nodejs");
});
server.listen(port,hostName,function(){
console.log(`伺服器運行在http://${hostName}:${port}`);
});
短短幾行代碼就把一個簡單的web伺服器搭建完成了,為了驗證效果,我們在瀏覽器請求,結果如下
運行成功!
到此為止,一個web伺服器就建立成功了! 沒錯就是這么簡單,然後我們就可以寫個html界面愉快的玩耍了,哈哈哈!果斷的寫了一個html頁面來請求一下我們的web伺服器。
代碼簡單,點擊p獲取數據並將伺服器返回的數據展示。好了,我們運行一下demo.html文件,我擦來!居然出現了……
很明顯,通過jquery請求不到數據,這是因為跨域請求的原因。我們的web伺服器並不支持跨域請求,所以報錯了。解決方式:在伺服器的響應頭文件里加上如下代碼:
再次重啟伺服器,運行demo.html,顯示結果很是令人欣喜!
通常請求伺服器都會拼接參數的,最常用的就是get請求,post請求。很明顯,我們現在的代碼還不能支持。express框架很好的封裝了nodejs的http模塊,使我們用起來非常的簡單。
引入express :$ cnpm install express –save
使用方式變化不大,通過express()方法開啟服務,然後在通過get方法來設置匹配參數的路由,通過在回調函數的req中可以獲取請求參數和地址。post請求也是類似,不過有不同的是,post請求在獲取參數的時候要引入body-parser 中間件,用於處理 JSON, Raw, Text 和 URL 編碼的數據。
運行結果:
完整的get以及post請求就是以上了。下一篇文章會結果fs文件模塊介紹http是如何返迴文件的,敬請期待!!
學習從來不是一個人的事情,要有個相互監督的夥伴,想要學習或交流前端問題的小夥伴可以私信「學習」小明加群獲取2019web前端最新入門資料,一起學習,一起成長!
⑧ 如何使用nodejs快速搭建本地伺服器
1、如果電腦沒有安裝nodejs的同學可以先到node官方下載並安裝好node程序。
2、安裝好nodejs後驗證一下是否安裝成功!如果出現則表明node已經承裝安裝上去了!
3、安裝好node之後打開cmd 輸入 npm install anywhere -g 安裝anywhere ,然後等待直到出現以下界面。
4、然後瀏覽器就自動打開本地訪問網址,一個簡單的node伺服器就這樣被搭建好啦!