搭建简单Node服务器
由于现在的项目大多数都是前后端分离的,为了便于我的Demo开发,我搭建了简单的node服务器用于交互数据。
搭建步骤
首先创建一个项目文件夹,并在此路径下打开CMD命令行
npm install express --save
安装完成后项目路径下会有如下已经被选中的两个文件夹
接下来导入项目环境搭建所需要的依赖包:
在命令行中依次输入:
npm install body-parser --save
npm install cookie-parser --save
npm install multer --save
环境配置好了以后,我们需要在项目路径下创建myserver.js
const http = require('http');
var express = require('express');
var app = express();
app.get('/', function (req, res) {
res.send('Hello meiTuan!');
})
var server = app.listen(8081, function () {
var host = server.address().address
var port = server.address().port
console.log("应用实例,访问地址为 http://%s:%s", host, port)
})
接下来我们便可以在命令行中使用 node myserver.js
即可启动咱们的node服务器,
可在地址栏中注入localhost:8081/来进行访问,可以看到浏览器响应如下
Hello meiTuan!
注意:当你在项目里使用请求localhost:8081/内配置的接口时会出现无法实现跨域请求的问题,是因为我们的本地项目项目所在的端口与后台服务应用的 8081 端口不能进行通信,这是浏览器的安全策略,为了解决这一问题,我们可以对myserver.js 文件做一些修改,加入以下代码
app.all('*', function (req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "X-Requested-With,Content-Type");
res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");
res.header("X-Powered-By", ' 3.2.1')
res.header("Content-Type", "application/json;charset=utf-8");
next();
});
最后贴上我的myserver.js文件的完整代码:
const http = require('http');
var express = require('express');
var app = express();
var bodyParser = require('body-parser');//引入body parser用于解析post的body
app.use(bodyParser.json());//使用body parser用于解析post的body
app.use(bodyParser.urlencoded({ extended: true }));//使用body parser用于解析post的body
app.all('*', function (req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "X-Requested-With,Content-Type");
res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");
res.header("X-Powered-By", ' 3.2.1')
res.header("Content-Type", "application/json;charset=utf-8");
next();
});
app.use(express.static('public'));
app.get('/', function (req, res) {
res.send('Hello meiTuan!');
})
app.post('/login', function (req, res) { //接收POST请求
let data = req.body; //解析body中的信息
console.log(data);
let message1 = { success: true }
let message2 = { success: false }
if (data.user === 'vanhom' && data.password === 'vanhom@2020') { //判断并返回结果
res.send(message1);
}
else res.send(message2);
})
app.post('/register', function (req, res) { //接收POST请求
let data = req.body; //解析body中的信息
console.log(data);
let message1 = { success: true }
let message2 = { success: false }
if (data.user === '15222222222') { //判断并返回结果
res.send(message2);
}
else res.send(message1);
})
app.post('/getOtp', function (req, res) { //接收POST请求
let data = req.body; //解析body中的信息
console.log(data);
let message1 = { success: true }
let message2 = { success: false }
if (data.email === '1510892222@qq.com') { //判断并返回结果
res.send(message1);
}
else res.send(message2);
})
var server = app.listen(8081, function () {
var host = server.address().address
var port = server.address().port
console.log("应用实例,访问地址为 http://%s:%s", host, port)
})