svn服务器搭建和使用_简单使用nodejs搭建一个静态服务器
前提:系统安装nodejs
搭建步骤
使用nodejs搭建服务器,简单的来说可以分为三步:
- require相应的模块
- 创建服务器
- 配置端口
- 启动服务器
必要的nodejs模块
以下模块都是以 var http=require('http')的方式在代码中使用
- http 创建http服务
- url 处理网站的url
- path 处理服务器文件的路径,因为同一个文件在不同操作系统中路径的表示方法是不一样的,需要把他处理成统一的
- fs 读取服务器的文件
一个最简单的nodejs服务器程序
//1.require http模块
var http=require('http')
//2.创建服务器,传入回调函数,作用是处理网页请求
var server=http.createServer(function(req,res){res.setHeader('Content-Type','text/html;charset=utf-8')res.writeHead(200,'OK')res.write(`hello world你好
`)res.end()
})
console.log('open http://localhost:8080')
//3.设置监听的端口
server.listen(8080)
打开终端,进入node-server文件夹,输入node index.js,然后在浏览器的地址栏输入:http://localhost:8080就可以看见hello world了

关于代码:
- req代表请求,res代表响应
- setHeader的作用是设置响应头
- setHeader('Content-Type','text/html;charset=utf-8')作用是告诉浏览这是html代码,使用html方式去解析接收到的字符串
- setHeader('Content-Type','text/plain;charset=utf-8')告诉浏览器用纯文本分方式去解析接收到的字符串,页面显示的内容是这样的:

- charset=utf-8 作用是告诉浏览器使用utf-8方式解码,如果不写或者解码方式与文件的编码方式不一致,在网页端会看到乱码的情况
- writeHead 作用是写http状态码,可以自己定义,比如说writeHead(200,'hello world'),在响应头里可以看见,但一般按照http的规定去定义

- write 作用是向响应体里面写入字符串,可以分多次写入
- end 作用是结束响应,如果不写,网页会一直处于加载状态
- listen 作用是监听端口
有了上面的知识,就可以写一个简单的静态nodejs服务器了
搭建简单的静态服务器
服务器文件文件结构
node-server|-index.js|-static |-css |-style.css|-js |-main.js|-img |-cat.png|-index.html //网页的html文件index.js代码:
//加载必须的模块
var http=require('http')
var fs=require('fs')
var url=require('url')
var path=require('path')//定位静态目录的位置,根据请求找出对应的文件
function staticRoot(staticPath,req,res){var pathObj=url.parse(req.url,true)if(pathObj.pathname==='/'){pathObj.pathname+='index.html'}
//读取静态目录里面的文件,然后发送出去var filePath=path.join(staticPath,pathObj.pathname)fs.readFile(filePath,'binary',function(err,content){if(err){res.writeHead(404,'Not Found')res.end('404 Not Found
')}else{res.writeHead(200,'Not Found')res.write(content,'binary')res.end()}})
}
//创建服务器
var server=http.createServer(function(req,res){staticRoot(path.join(__dirname,'static'),req,res)
})
//监听8080端口
server.listen(8080)
console.log('http://localhost:8080')输入网址得到的结果

网页的请求状态

上面的代码主要是使用nodejs的fs模块,可以读取服务器里面的文件,style.css、main.js、index.html和cat.png都是fs模块根据不同的请求路径来读取得到的,最终通过res.write()方法发送到浏览器端。
如果需要路由功能,只需要在index.js里面添加路由处理程序就可以了。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
