源碼地址:https://github.com/chunsenye/...css
第一步:建立與訪問html
建立可經過http://localhost:8090/訪問的服務器node
server.jsgit
var http=require('http') var server= http.createServer(function(request,response){ console.log('someone has visited my first node server !'); }) server.listen(8090,function(){ console.log('server started at http://localhost:8090 ......') });
代碼解釋:
1.首先得依賴http 這個不用npm安裝 安裝node以後就有了 因此直接依賴就能夠
2.而後使用http.createServer(callback)方法建立一個未啓動的服務器
3.最後啓動一個監聽8090端口的服務器github
操做:npm
1.進入server.js所在的文件夾
2.輸入 node server.js 運行js文件服務器
3.訪問 http://localhost:8090/學習
能訪問服務器了,可是還沒給響應。因此左上角一直在轉,顯示等待localhost響應。再看看服務器:ui
訪問一次就會多一句信息輸出。url
第二步:讓服務器響應訪問
server.js
var http=require('http') var server= http.createServer(function(request,response){ console.log('someone has visited my first node server !'); response.write('welcome to visited my first node server !'); response.end(); }) server.listen(8090,function(){ console.log('server started at http://localhost:8090 ......') });
多了兩句代碼:
response.write('welcome to visited my first node server !'); //response就是響應 response.write()能夠理解爲往響應裏面寫內容 response.end(); //必需要end
最後的結果就是這樣
第三步:根據訪問連接來判斷響應內容
var http = require('http') var server = http.createServer(function (request, response) { console.log('someone has visited my first node server !'); if (request.url === '/') { response.write('Home Page'); } else if (request.url === '/login') { response.write('Login Page'); } else if (request.url === '/register') { response.write('Register Page'); } else { response.write(request.url); } response.end(); }) server.listen(8090, function () { console.log('server started at http://localhost:8090 ......') });
代碼解釋:
request.url 的值其實就是http://localhost:8090 後面的內容
默認爲/ 表示主頁
若是是爲/login 表示登陸頁面
若是是爲/register 表示註冊頁面
不然 直接響應該連接
這裏只是響應了一串字符串,怎麼才能響應一個頁面呢
第四步:響應HTML頁面
server.js
var http = require('http'); // 導入文件讀寫的js var fs = require('fs'); var server = http.createServer(function (request, response) { console.log('someone has visited my first node server !'); //根據訪問的路徑來選擇響應的文件 let filePath; if (request.url === '/') { filePath='index.html'; } else if (request.url === '/login') { filePath='login.html'; } else if (request.url === '/register') { filePath='register.html'; } else { filePath='notfound.html'; } //讀取文件並寫入響應內容中去 fs.readFile(filePath,function(err,data ){ response.write(''+data); //不能直接寫data 是16進制的數,須要轉成字符串 //我寫data.toString() 會報錯 response.end(); }) }) server.listen(8090, function () { console.log('server started at http://localhost:8090 ......') });
經過上面的代碼就能夠實現根據不一樣的路徑響應不一樣的文件了
項目文件目錄
執行效果
到這裏就初步完成了簡單的能夠響應文件的服務器了,可是還不能響應圖片,不能加載js文件與css文件這些我暫時也還不會,慢慢學習。
我把天天的學習代碼都放在個人GitHub上了,歡迎來★