前言
我是歌谣 今天给大家带来的是关于node中新版url模块的一个讲解
案例1
代码语言:javascript复制const http = require("http")
const url=require("url")
//创建服务器
http.createServer((req, res) => {
// console.log(url.parse(req.url).pathname)
// var pathname=url.parse(req.url).pathname
// var urlobj=url.parse(req.url,true)
// console.log(urlobj.query.name,urlobj.query.age)
// if (req.url === "/home") {
// }
var myurl=new URL(req.url,"http://127.0.0.1:3000")
console.log(myurl,"myurl is")
var pathname=""
res.writeHead(renderStatus(pathname), { "Content-Type": "text/html;charset=utf-8" })
res.write(renderHtml(pathname))
res.end()
}).listen(3002, () => {
console.log("geyao.....")
})
function renderHtml(url) {
switch (url) {
case "/home":
return `<html>
<p>hello home</p>
</html>`;
case "/list":
return `<html>
<p>hello list</p>
</html>`;
default:
return `<html>
<p>hello 404</p>
</html>`;
}
}
function renderStatus(url){
var arr=["/home","/list"]
return arr.includes(url)?200:404
}
运行结果
案例2
代码语言:javascript复制const http = require("http")
const url=require("url")
//创建服务器
http.createServer((req, res) => {
// console.log(url.parse(req.url).pathname)
// var pathname=url.parse(req.url).pathname
// var urlobj=url.parse(req.url,true)
// console.log(urlobj.query.name,urlobj.query.age)
// if (req.url === "/home") {
// }
var myurl=new URL(req.url,"http://127.0.0.1:3000")
console.log(myurl,"myurl is")
for(var [key,value] of myurl.searchParams){
console.log(key,value)
}
var pathname=myurl.pathname
res.writeHead(renderStatus(pathname), { "Content-Type": "text/html;charset=utf-8" })
res.write(renderHtml(pathname))
res.end()
}).listen(3002, () => {
console.log("geyao.....")
})
function renderHtml(url) {
switch (url) {
case "/home":
return `<html>
<p>hello home</p>
</html>`;
case "/list":
return `<html>
<p>hello list</p>
</html>`;
default:
return `<html>
<p>hello 404</p>
</html>`;
}
}
function renderStatus(url){
var arr=["/home","/list"]
return arr.includes(url)?200:404
}
运行结果
案例3
代码语言:javascript复制const http = require("http")
const url=require("url")
//创建服务器
http.createServer((req, res) => {
// console.log(url.parse(req.url).pathname)
// var pathname=url.parse(req.url).pathname
// var urlobj=url.parse(req.url,true)
// console.log(urlobj.query.name,urlobj.query.age)
// if (req.url === "/home") {
// }
var myurl=new URL(req.url,"http://127.0.0.1:3000")
console.log(myurl,"myurl is")
for(var [key,value] of myurl.searchParams){
console.log(key,value)
}
var geyaourl=new URL('https://a:b@测试?abc#foo')
console.log(url.format(geyaourl),{unicode:true})
var pathname=myurl.pathname
res.writeHead(renderStatus(pathname), { "Content-Type": "text/html;charset=utf-8" })
res.write(renderHtml(pathname))
res.end()
}).listen(3002, () => {
console.log("geyao.....")
})
function renderHtml(url) {
switch (url) {
case "/home":
return `<html>
<p>hello home</p>
</html>`;
case "/list":
return `<html>
<p>hello list</p>
</html>`;
default:
return `<html>
<p>hello 404</p>
</html>`;
}
}
function renderStatus(url){
var arr=["/home","/list"]
return arr.includes(url)?200:404
}
运行结果