http 内置模块,主要是用于http服务
let http = require('http');
let port = 3000;
let server = http.createServer((req,res)=>{
res.setHeader('Content-Type','text/plain;charset=utf8')
res.end('你好')
})
server.listen(port,()=>{
console.log(`${port} 服务启动`)
})
复制代码
- server-html.js 返回一个html文件
let http = require('http')
let fs= require('fs')
let port = 3000;
http.createServer((req,res)=>{
res.setHeader('Content-Type','text/html;charset=utf-8');
fs.readFile('./index.html',(err,data)=>{
res.end(data)
})
fs.createReadStream('./index.html').pipe(res);
).listen(3000,()=>{
console.log(`${port}服务启动`)
}
复制代码
- server-url 根据请求req 的路径不同,返回不同内容(路由)
let http = require('http');
let port = 3000;
let fs = require('fs');
let path = require('path');
let url = require('url');
http.createServer((req,res)=>{
let {pathname,query} = url.parse(req.url,true);
路由:根据不同路径返回不同结果
fs.stat(`.${pathname}`,(err,stats)=>{
if(err){
res.statusCode = 404;
res.end(`${pathname} is not found`)
return;
}
if(stats.isFile()){
fs.createReadStream('.${pathname}').pipe(res)
}
if(stats.isDirectory()){
let p = path.join(`.${pathname}`,'./index.html');
fs.createReadStream(p).pipe(res)
}
})
}).listen(port,()=>{
console.log(`${port} 服务开启`)
})
复制代码
- server-mime.js 利用mime包设置cointent-type
let http = require('http');
let port = 3000;
let fs = require('fs');
let path = require('path');
let url = require('url');
//let mime = {
// '.js':'application/javascript',
// '.css':'text/css',
// '.html':'text/html'
//}
let mime = require('mime');//npm install mime 利用第三方包处理mime类型
http.createServer((req,res)=>{
let {pathname,query} = url.parse(req.url,true);
fs.stat(`.${pathname}`,(err,stats)=>{
if(err){
res.statusCode = 404;
res.end(`${pathname} is not found`)
return;
}
//如果是文件
if(stats.isFile()){
// let extName = pathname.match(/\.\w+$/)[0];
//res.setHeader('Content-Type',mime[extName]+';charset=utf-8')
res.setHeader('Content-Type',mime.getType(pathname)+';charset=utf-8')
fs.createReadStream('.${pathname}').pipe(res)
}
//如果是文件夹 ./也是文件夹
if(stats.isDirectory()){
res.setHeader('Content-Type','text/html;charset=utf-8')
let p = path.join(`.${pathname}`,'./index.html');
fs.createReadStream(p).pipe(res)
}
})
}).listen(port,()=>{
console.log(`${port} 服务开启`)
})
复制代码