express的初始化
-
1.新建项目目录
-
2.安装express依赖 npm install express --save
-
3.安装项目骨架 npx express-generator
-
4.安装框架中引用但是缺失的cookie-parser和morgan
npm install cookie-parser / morgan -
5.再app.js文件中新建监听
const port = 3304 app.listen(port, () => { console.log(`${prot} is runing`); })
-
6.node app.js
在express中使用mysql
1.新建sql文件夹
- 在文件夹里新建sql.js文件,sql.js文件内容为封装的sql请求函数
var msyql = require('mysql') var connection // 初始化mysql function init() { connection = msyql.createConnection({ host: 'localhost', user: 'root3', password: '12345678', database: 'sql' }) connection.connect() console.log('database is connected'); } // 新建mysql查询 function getQuery(sqlQuery) { return new Promise((resolve, reject) => { connection.query(sqlQuery, function(err, result) { if(err) reject(`SQL Error: ${err}`) resolve(result) }) }) } // 调用mysql查询并返回查询结果 async function getData(sqlQuery) { let sqlStr = await getQuery(sqlQuery) return sqlStr } // 断开数据库连接 function end() { connection.end() } module.exports = { init, getData, end }
2.在你要使用的路由或者app.js里面导入并使用查询
const express = require('express')
const router = express.Router()
const sql = require('../sql/mysql')
const { get } = require('./test')
sql.init()
router.get('/', (req, res, next) => {
const sqlQuery = `
SELECT * FROM user`
sql.getData(sqlQuery).then(
result => {
console.log(result);
res.send(result)
}
)
})
module.exports = router;
跨域访问
app.all('*', function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, No-Cache, X-Requested-With, If-Modified-Since, Pragma, Last-Modified, Cache-Control, Expires, Content-Type, X-E4M-With");
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();
});