NodeJS的服务器开发
nodejs生来为了实现服务器,服务器就是能够接受客户端发来的请求,给出响应。
2.1认识http模块
我们创建02.js文件,这个文件是一个开启最简单nodejs服务器的一段小程序:
//require表示引入,引入的是内置的http模块
var http = require("http");
//调用createServer方法来创建一个小服务器,req表示请求,res表示响应。
var server = http.createServer(function(req,res){
//当有用户访问的时候做的事情
res.end("
Hello
");
});
//监听3000端口
server.listen(3000);
书写完毕之后,我们node 02.js
光标被挂起(hook),此时打开浏览器,输入网址
http://127.0.0.1:3000
就能看见我们的页面:
再看一下程序:
//require表示引入,引入的是内置的http模块
var http = require("http");
//调用createServer方法来创建一个小服务器,req表示请求,res表示响应。
var server = http.createServer(function(req,res){
//当有用户访问的时候做的事情
res.end("
Hello,NodeJS!!hahahah
");
});
//监听3000端口
server.listen(3000);
我们的程序一开始require了一个http模块。事实上,nodejs的牛逼之处就在于内置了好多非常好用的模块。
创建服务器需要使用http模块。
2.2注意CMD光标被挂起不能关闭
我们的服务器是一个临时的程序,并不是像Apache那样随时待命。
所以在node 02.js的时候,绝对不能关闭CMD窗口的,一旦窗口关闭,服务器就关闭了。
当我们改变了源程序之后,必须重新node这个文件,才能改变页面的显示。
为了打断挂起的CMD窗口,按ctrl+c键即可。
2.3注意!NodeJS是服务端语言!
我们来看PHP和HTML的区别:
PHP是在服务器上执行的语言,发给客户端的是结果而不是源文件:
但是HTML是一个在客户端执行的语言,服务器只负责发给前端,不负责执行:
老师做了一个下拉菜单,显示1930年到2018年的例子:
用html写的,我们查看源文件,画风:
而后端PHP的源代码明明是:
Document
请选择你的出生年份:
for($i = 1930 ; $i <= 2018 ; $i++){
?>
}
?>
但是查看页面源代码,出现的却是:
说明php程序是在服务器上执行的,发给浏览器的已经是执行之后的结果。
言归正传,我们来看02.js:
//require表示引入,引入的是内置的http模块
var http = require("http");
//调用createServer方法来创建一个小服务器,req表示请求,res表示响应。
var server = http.createServer(function(req,res){
//当有用户访问的时候做的事情
res.end("
Hello " + (3 + 4) + "
");});
//监听3000端口
server.listen(3000);
在浏览器中查看源文件:
看不出来是3+4的写法。
网友评论