一. 搭建Web服务
步骤:
1.加载http模块
2.创建http服务
3.服务端对象监听request请求,用于监听客户端的请求
4.启动http服务,监听端口
参考代码:
//1.引入node内置模块http
var http=require('http');
//2.创建http服务
var server=http.createServer((request,response)=>{
//request 请求对象 response 响应对象
//3.设置状态码和响应头
response.writeHead(200,{
//注意,这里第二个参数是对象
"Content-Type":"text/html;charset=utf-8"
});
//设置http头部,文件类型是html,字符集是utf8(可代替第3步)
//response.setHeader("Content-type","text/html;charset=utf-8");
//4.响应数据
response.write("hello world");
//5.结束响应(必须要借宿响应,否则浏览器会被挂起)
response.end();
});
//6.监听端口,启动服务
server.listen(3000,function(){
console.log("服务启动成功");
});
然后在终端上,切换到当前js文件所在的文件夹,进入node交互式环境.使用node 文件.js命令,运行这个js,启动服务,此时,可以在浏览器中 http://localhost:3000 或者http:127.0.0.1:3000进行访问了,注意,输出的console.log(),不会在浏览器console上显示,而是在终端显示
注意:
1.在监听request事件中,最后一定要response.end()结束响应.
2.浏览器显示中文可能是乱码,需要设置响应头告诉浏览器显示时所用的编码,要在response.end()之前设置
response.setHeader(“Content-type”,“type/plain;charset=utf-8”);//响应为纯文本
response.setHeader(“Content-type”,“type/html;charset=urf-8”);//响应为html文本
Content-Type:用于定义用户的浏览器如何处理将要加载的数据
text/html 将文件设置为html形式,浏览器在获取到这种文件时会自动调用html的解析器
text/plain 将文件设置为纯文本形式,浏览器在获取到这种文件是并不会进行其他处理
另外,我们在运行上述代码时,如果我们在代码中稍微加了点内容,必须要按两次ctrl+c 才可退出node交互式环境,停止服务,然后重新启动,才可以把刚才修改的内容生效.那每次都要这种操作,不觉得麻烦吗,这个时候,我们引入一个全局的工具模块 nodemon
1.安装全局的工具模块 nodemon
npm installl nodemon -g
2.启动node服务时,使用nodemon命令替代node命令
注意,nodemon只是在运行服务端代码的时候去使用,其余普通一个nodejs代码运行,使用node命令就好了.
端口号知识:
1.取值范围 0-65535
2.公认端口(默认端口)
0-1023 一般都已经使用了
比如:
http 80
https 443
ftp 21
ssh 22
mysql 3306
我们在使用中,一定要避免端口被占用的情况,在我们使用nodeJs端口被占用了,会有很友好的提示,端口被占用了,但是很多其他的软件,端口被占用,没有提示,很多意想不到的错误就出现了