前提
- node环境
说明
- 本文使用 express 模块来启动web服务器。Express官网:https://www.expressjs.com.cn/
极简嘛,所以,此案例直接通过shell窗口操作。当然啦,你也可以使用VSCode或者其他IDE工具。
正文
-
新建一个空目录。本示例新建个名为 node-server-demo 目录。
-
进入到该目录,打开一个shell终端。(window系统:进入目录,按住shift键,右键,在此处打开Powershell窗口)
-
在终端执行
npm init -y
,初始化node项目。会在目录生成一个package.json文件。(参数 -y 的作用是令所有配置默认。也可以不指定,自己手动填写配置)
-
在终端执行
npm install express
,安装express依赖。
-
在项目根目录新建 server.js 文件,编写web服务器配置。
var express = require('express');
var app = express();
app.use(express.json()) // 增加 application/json 请求类型的支持
app.use(express.urlencoded({ extended: true })) // 增加 application/x-www-form-urlencoded 请求类型的支持
// queryString参数
app.get('/getUrl', function (req, res) {
console.log(req.query);
res.end(JSON.stringify(req.query));
})
// restful参数
app.get('/getUrl/:name', function (req, res) {
console.log(req.params.name);
res.send(req.params.name);
})
// 请求体参数,上述两行app.use就是为了支持请求体参数
app.post('/postUrl', function (req, res) {
console.log(req.body);
res.json({"msg": req.body});
})
//监听端口
var server = app.listen(8088, function () {
var host = server.address().address
var port = server.address().port
console.log("webserver已启动,地址 http://%s:%s", host, port)
});
-
在终端执行
node server.js
,启动web服务器。
正常输出 “webserver已启动,地址 http://:::8088”,说明web服务器正在运行中。
-
测试接口
- GET请求:可直接用浏览器访问,也可以使用Postman发送GET请求。
- queryString传参:localhost:8088/getUrl?name=markix
- restful传参:localhost:8088/getUrl/markix
- POST请求:通过Postman测试
由于在Web服务器配置中写了一些console.log,所以接收到请求则会打印出来。
通过接口响应内容,或者服务器的日志判断接口是否正常。
- 极简 Node.js web服务器。完工。
说明
服务器返回响应,相关文档
- res.end(); //建议无需数据返回时使用
- res.send(); //可灵活配置返回内容
- res.json(); //返回json类型内容
服务器req的属性,相关文档
- req.query //queryString参数
- req.params //restful参数
- req.body //请求体,该功能能正常使用的关键是代码中两行app.use
开启更多姿势,详见Express官网
end