node如何创建httpserver
1.下载node并配置好(不知道的可以百度)
require('http')//引入http
require('url')//不需要使用url可以不引入
require('util')//实用工具,可以不引入
http.createServer((req,res)=>{
res.statusCode = 200;
res.setHeader('Content-Type','text/html;charset=UTF-8');//设置头部
let a = req.url;
console.log(a);//控制台输出‘/’
console.log(url.parse(a));
/*控制台输出
Url {
protocol: null,
slashes: null,
auth: null,
host: null,
port: null,
hostname: null,
hash: null,
search: null,
query: null,
pathname: '/favicon.ico',
path: '/favicon.ico',
href: '/favicon.ico'
}
*/
console.log(util.inspect(url.parse(a)));
res.end(util.inspect(url.parse(a)));//最后输出
}).listen(3000,'127.0.0.1',()=>{console.log("服务器已经运行")})//3000为端口号,127.0.0.1为本地ip
那么怎么用node加载静态资源呢?
话不多说 我就直接po代码了:
1.首先咱们在当前目录下创建一个index.html
2.js代码:
let http = require('http')
let url = require('url')
let fs = require('fs')
//可以参考node文档
http.createServer((req,res)=>{
let pathname = subString(url.parse(req.url).pathname)//至于为什么要用subString可以试着console.log不用subString打印出来的结果,他会在前面多一个/
fs.readFile(pathname,(err,data)=>{
if(err){
throw err
}else{
res.writeHead(200,{'Content-Type':'text/html'})
res.write(data.toString())
}
res.end()//注意这个end()的位置
})
}).listen(3000,'127.0.0.1',()=>{
console.log("服务器已经启动,请打开127.0.0.1:3000/index.html查看")
})
接下来直接在终端上运行就完事儿