10分钟学会用Nodejs开发Web服务器

服务器
这个教程能让您在短短10分钟之内,从对nodejs一点基础也没有到能用nodejs开发一个最简单的Web服务器。这个教程是在Windows 10操作系统里写的。

 这个教程能让您在短短10分钟之内,从对nodejs一点基础也没有到能用nodejs开发一个最简单的Web服务器。这个教程是在Windows 10操作系统里写的。

 

1. 登录网站https://nodejs.org/en/,下载nodejs安装文件。

10分钟学会用nodejs开发Web服务器

 

双击进行安装,这个安装包会自动帮您完毕之后用cmd打开命令行界面,输入node -v查看安装好的nodejs版本。

10分钟学会用nodejs开发Web服务器

 

2. 在电脑上新建一个文件夹,比如nodejsServer。新建一个文件Server.js, 将如下代码粘贴进去:

  1. var express = require('express'); 
  2. var app = express(); 
  3. app.listen(3000, function () { 
  4. console.log('Listening on port, process.cwd(): ' + process.cwd() ); 
  5. }); 

 

Express是一个基于nodejs平台的web 开发框架,我们在***行代码直接通过require导入到我们的Server.js里,然后就可以直接用了。第四行意思是我们的Web服务器在端口3000上监听网络请求。

使用命令行node Server.js启动我们的Web服务器,然后能看到第5行代码打印的日志,说明服务器已经成功开始在3000端口监听了:

 

使用windows cmd里的命令行,netstat -ano | find "3000", 也确实能看到有一个进程监听在3000端口上。

 

但是现在我们的Web服务器还无法真正响应任何Web请求,所以我们需要继续开发。

添加如下第4行到第6行代码,再用node server.js重启Web服务器。这三行的代码是,一旦有网络请求通过HTTP GET的方式,以路径/jerryget访问我们的Web服务器,则返回一个文本响应"this is a GET request":

 

使用http://localhost:3000/jerryget进行测试:

10分钟学会用nodejs开发Web服务器

 

相应的,如果把get方法改成post方法,则可以响应HTTP POST请求。

10分钟学会用nodejs开发Web服务器

 

使用url http://localhost:3000/jerrypost,在postman里进行测试。

10分钟学会用nodejs开发Web服务器

 

如果想在这个web服务器上部署一些网页供外部访问,也是非常容易的。直接在server.js里再添加一行代码:

  1. app.use('/page', express.static(process.cwd()); 

然后在server.js所在的文件夹里,新建一个index.html, 内容如下:

  1. <html> 
  2. <p>Hello World</p> 
  3. </html> 

重启Web服务器,用url http://localhost:3000/page/index.html 测试,就能访问我们开发的网页了:

10分钟学会用nodejs开发Web服务器

 

整个server.js的实现只有16行代码,但是这个Web服务器具备了监听请求,响应HTTP GET和POST请求,响应网页请求这些作为Web服务器应该具备的核心功能。这个例子让您在短短10分钟之内即可学会nodejs的Web服务器开发。

10分钟学会用nodejs开发Web服务器

 

10分钟学会用nodejs开发Web服务器

 

责任编辑:武晓燕 来源: 今日头条
相关推荐

2021-07-15 06:43:11

Bash调试脚本

2021-07-29 23:29:55

web服务器开发

2009-11-26 11:19:52

NIS服务器

2018-02-01 14:15:00

Python函数

2018-11-28 11:20:53

Python函数式编程编程语言

2019-07-18 16:32:06

Python函数数据

2022-01-17 09:01:23

NodeJS数据服务器Mock

2021-11-28 22:16:01

Go语言工具

2022-06-02 08:46:04

网卡网络服务器

2015-03-12 17:01:33

MySQLMySQL乱码编码转换

2016-12-22 21:47:04

SEDLinuxUnix

2020-06-30 10:45:28

Web开发工具

2021-01-21 05:49:39

Web开发应用程序

2015-05-07 11:31:21

服务器虚拟化深信服

2022-03-08 08:39:22

gRPC协议云原生

2011-01-21 10:30:46

2013-11-04 11:02:57

2013-11-29 13:55:37

2020-05-22 10:20:27

Shiro架构字符串

2013-09-13 14:08:01

点赞
收藏

51CTO技术栈公众号