用Node.js创建一个静态服务器,然后将一个项目部署在这个服务器中

//创建一个服务器
var http = require('http');
var port = 9000;
var hostname = 'localhost';
//1.创建磁盘路径处理的模块(绝对路径)
var path = require('path');
//2.用文件系统读index.html文件的内容,就是操作文件、目录的模块
var fs = require('fs');
//5.处理url的模块
var url = require('url');
http.createServer(function (request, response) {
//4.得到index.css路径
var urlObj = url.parse(request.url);//将字符串转对象
//6.用path处理static的绝对路径
var staticPath = path.join(__dirname, 'static')//join方法拼接两个路径字符串
//7.加一个判断
if (urlObj.pathname === '/') {
urlObj.pathname += 'index.html'
}
console.log(urlObj.pathname)
//8.
var filePath = path.join(staticPath, urlObj.pathname);
//3.用fs fs.readFile(路径(index.html所在的路径),字符编码,错误优先的回调函数)
//filecontent是一个纯字符串,读不了index.css,所以要把index.css也发送出去
fs.readFile(filePath, 'binary', function (error, filecontent) {
if (error) {
throw error
} else {
response.write(filecontent, 'binary')//binary是二进制的意思,因为有图片,图片是天生异步的
response.end()
}
})
}).listen(port, hostname, function () {
console.log(`The server running in:http://${hostname}:${port}`)
})

猜你喜欢

转载自www.cnblogs.com/zhaoyingzi/p/10864448.html