node创建web服务器连接MySQL
创建node后端项目
mkdir node-notebook
npm初始化
npm init
安装mysql
npm install mysql --save
代码相关
config\mysqlConfig.js
// 数据库配置信息
const config = {
host:'localhost',
user:'root',
password:'',
database:'notebook'
}
exports.config = config;
index.js
// 引入需要的模块
let http = require('http');
let mysql = require('mysql');
const {
config
} = require('./config/mysqlConfig.js');
// 创建数据库连接池
let connection = mysql.createConnection(config);
// 连接
connection.connect(function (err) {
if (err) {
console.log('error')
}else{
console.log('connect success!');
}
});
// 创建一个web服务器
const server = http.createServer(function (req, res) {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain;charset=utf-8');
res.setHeader("Access-Control-Allow-Origin", "*");
res.setHeader("Access-Control-Allow-Headers", "X-Requested-With");
res.setHeader("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");
})
server.on('request', function (request, response) {
let url = request.url;
if (url === '/getnoteevent') {
// 查询数据
connection.query('select * from t_note_event', function (err, row) {
if (err) {
console.log(err);
}else{
let data = JSON.stringify(row); //将数据转换为json格式
response.end(data);
}
})
}
if(url === '/getalluser'){
connection.query('select * from t_note_user', function (err, row) {
if (err) {
console.log(err);
}else{
let data = JSON.stringify(row); //将数据转换为json格式
response.end(data);
}
})
}
})
// 监听9000端口
server.listen(9000, function () {
console.log('服务器启动了。。。')
})
启动node
node index.js
node服务自启动
安装supervisor
cnpm install -g supervisor
执行node
supervisor index.js
执行效果
浏览器输入地址:http://localhost:9000/getnoteevent
浏览器中输入地址:http://localhost:9000/getalluser
node解决跨域问题
在创建web服务时进行跨域设置
说明:
Access-Control-Allow-Origin 与Access-Control-Allow-Headers的内容要一致,否则会会报跨域的错误
res.setHeader('Content-Type', "application/json;charset=utf-8");
res.setHeader("Access-Control-Allow-Origin", "*");
res.setHeader("Access-Control-Allow-Headers", "*");
res.setHeader("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");