Node.js 的 30 天學習日記--第十七天

Node.js 學習第十六天

略過………..

如果在看的過程中有任何錯誤歡迎寫 E-MAIL: pp840405@gmail.com 提醒我錯誤。


路由設計

關於路由設計先看別人的網頁如何設計
Udemy
https://www.udemy.com/courses/development/web-development/
Udemy
https://www.udemy.com/courses/development/mobile-apps/
這兩個頁面差別就在於針對 development 後面的路徑名稱了。
下面程式碼就是針對 development 這個路由新增後面頁面。
請使用 cmd 的 node 程式名.js 去作執行在網頁上輸入 127.0.0.1:3000/development/web-development 來去作查看。

1
2
3
4
5
6
7
8
9
10
11
var express = require('express');
var app = express();
app.get('/development/web-development',function(req,res){
res.sen('網頁開發');
});
app.get('/development/mobile-apps',function(req,res){
res.sen('行動應用');
});
//監聽 port
var port = process.env.PORT || 3000;
app.listen(port);


像上面講的路徑都是固定的路徑,如果你有一個龐大的資料庫隨時在新增與修改和刪除資料,那要顯示這資料不可能即時監控並給出一組路由,所以就需要用到隨機路徑了,想是下面的頁面一樣設計。
youtube 音樂頻道
https://www.youtube.com/channel/UC-9-kyTW8ZkZNDHQJ6FgpwQ?&ytbChannel=null
youtube 運動頻道
https://www.youtube.com/channel/UCEgdi0XIXXZ-qJOFPf4JSKw?&ytbChannel=null
差別就在於後面是給一組隨機碼的路徑。


params - 取得指定路徑

params 是一個存取路由名稱的物件格式,再路徑 / 後面輸入冒號再打的要取得的物件名稱資料就可以拿到名稱。
下面是用在網址欄隨便輸入名稱來存到物件並 console 查看是否有取得名稱,也寫成 var myname = req.params ,再接著去 console 看就可以看到一個物件格是內容。
都是需要用 cmd 用 node 執行 JS 檔案。

1
2
3
4
5
6
7
8
9
10
var express = require('express');
var app = express();
app.get('/user/:name',function(req,res){
var myname = req.params.name;
console.log(myname)
res.sen('網頁開發');
});
//監聽 port
var port = process.env.PORT || 3000;
app.listen(port);

一些網站後面的路徑不一定在資料庫裡面,如果不小心輸入或者網站本身已刪除你去查詢後,網站頁面大概會顯示此頁面並不存在,那我們這邊就需要用 if 的方式去判斷網頁路徑是否存在。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
var express = require('express');
var app = express();
app.get('/user/:name',function(req,res){
var myname = req.params.name;
if (myname !== 'id'){
res.send('<html><head></head><body><h1>此頁面並不存在</h1></body></html>')
}else{
//myname是取得你輸入名稱
res.send('<html><head></head><body><h1>'+myname+'</h1></body></html>')
}
});
//監聽 port
var port = process.env.PORT || 3000;
app.listen(port);


結語

就…..這樣,有任何問題歡迎寫 MAIL: pp840405@gmail.com 一起共同討論。