简单启动一个node服务
2021-01-21 本文已影响0人
小米和豆豆
//安装npm i express --save
var express = require("express");
var app = express();
/* 读写文件会用*/
var fs = require("fs");
/* node启动服务,vue部署运行dist下面的项目,history 模式默认路由指向会用,否则刷新页面报404*/
var history = require('connect-history-api-fallback');
app.use(history({
index: 'index.html'
}));
app.use(express.static("./dist"));
/* 接口层面 */
//json提交
app.use(express.json())
// 表单提交的 parse application/x-www-form-urlencoded
// app.use(express.urlencoded({ extended: false }))
//跨域请求头 设置返向代理就不需要他
app.all('*', function(req, res, next) {
// res.header("Access-Control-Allow-Origin", "*");
// res.header("Access-Control-Allow-Headers", "content-type");
// res.header("Access-Control-Allow-Methods", "*");
res.header("Content-Type", 'text/html; charset=utf-8')
next();
});
//登录账户
app.post("/login", function(req, res) {
var info = req.body
fs.readFile("data/login.json", function(err, data) {
if(err) {
res.end(JSON.stringify({
msg: "1--1",
str: "服务器繁忙"
}))
console.log(err)
} else {
var obj = JSON.parse(data.toString())
var flag = false
var ses = ""
var userId = ""
var price = 0
for(var i = 0; i < obj.length; i++) {
if(info.name == obj[i].name) {
if(info.pass == obj[i].pass) {
flag = true;
ses = obj[i].admin
price = obj[i].price
userId = obj[i].id
break
} else {
res.end(JSON.stringify({
msg: 0,
str: "密码有误"
}))
}
}
}
if(flag) {
res.end(JSON.stringify({
msg: 1,
user: info.name,
ses: ses,
price: price,
userId,
str: "登录成功"
}))
} else {
res.end(JSON.stringify({
msg: 0,
str: "账户有误"
}))
}
}
})
})
//获取日志列表
app.get("/logData", function(req, res) {
fs.readFile("./data/logData.json", function(err, data) {
if(err) {
console.log(err)
} else {
res.end(JSON.stringify({
msg: 1,
data: JSON.parse(data.toString())
}))
}
})
})
app.listen(8011, function() {
console.log("我爱你")
})