赞
踩
#NodeJs+Mysql+Express 撸一个后台
第一步:安装环境
npm init
使用 npm init -y 这跳过提问阶段,直接生成一个package.json 文件,-y则是yes的意思
const http = require('http');
const express = require('express');
const app = express();
const hostname = 'localhost';
const port = 1101;
app.get('/login',function (res,req) {
console.log("我访问了");
});
const server = http.createServer(app);
server.listen(port, hostname, () => {
console.log(`服务器运行在 http://${hostname}:${port}/`);
});
运行: node app.js
结果:
第二步:整理一下,将路由文件提取出去,单独一个文件(如下图:)
第三步: 每次改动都要启动太麻烦,需要启动后,实时响应更新,使用supervisor管理进程
npm i supervisor --save
安装之后,在package.json配置启动项: "start": "supervisor app.js"
第四步: 解决跨域问题 安装:npm i --save cors
配置:
在router.js中加入 app.use('*', function(req, res, next) { res.header('Access-Control-Allow-Origin', req.headers.origin);//注意这里不能使用 * res.header('Access-Control-Allow-Headers', 'Content-Type, Content-Length, Authorization, Accept, X-Requested-With , yourHeaderFeild'); res.header("X-Powered-By",' 3.2.1'); res.header('Access-Control-Allow-Credentials', true); // 允许服务器端发送Cookie数据 res.header("Content-Type", "application/json;charset=utf-8"); res.header('Access-Control-Allow-Methods', 'PUT, POST, GET, DELETE, OPTIONS');//设置方法 if (req.method == 'OPTIONS') { res.sendStatus(200); // 在正常的请求之前,会发送一个验证,是否可以请求。 } else { next(); } });
第五步: 设置静态文件
app.use('/public',express.static(__dirname + '/public'));
第六步:链接数据库:安装mysql :npm i --save mysql
新建sqlConfig.js进行配置
const mysql = require('mysql'); let db = {}; db.connection = function () { let connection = mysql.createConnection({ host : 'localhost', user : 'root', password : '1101', port: '3306', database: 'shared', }); //数据库连接 connection.connect(function(err){ if(err){ console.log("err",err); return; } }); return connection; } //关闭数据库 db.close = function(connection){ //关闭连接 connection.end(function(err){ if(err){ return; }else{ console.log('关闭连接'); } }); } db.operate=function (connection,sql,param,callback) { connection.query(sql,param,function(err,data){ if(err){ } else { callback(data) } }) } exports = module.exports = db;
使用时
app.get('/login',function (res,req) {
var connect = db.connection();
db.operate(connect,"UPDATE admin SET token=? WHERE id=?",[data1,data2],function(result){
res.end(JSON.stringify({
state:1,
data:{
data:null,
token:""
}
}));
});
});
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。