const express = require('express')
const app = express()
const bodyParser = require('body-parser')
const userRouter = require('./routers/user')
// 解析请求体
app.use( bodyParser.urlencoded({extended: true}) )
app.use(bodyParser.json())
// 处理静态资源,放在router之前
app.use(userRouter)
app.get('/', (req, res) => res.send('Hello World!'))
app.listen(3001, () => console.log(`启动服务器`))
npm i nodemon -g
然后在package.json配置命令
"dev": "nodemon app.js"
这样在终端就可以通过命令启动服务器了
npm i express --save
const express = require('express')
浏览器默认是没有body的,所以对于post请求,需要使用插件进行,这样的话,req就有一个body的属性值。
const bodyParser = require('body-parser')
// 解析请求体
app.use( bodyParser.urlencoded({extended: true}) )
app.use(bodyParser.json())
// 上面两句代码一定要放在路由之前,否则可能会出现拿不到数据的问题
根目录创建一个routers的文件夹,创建项目所需的路由js文件
// 这是user.js文件
const router = require("express").Router();
const user = require('../controller/user')
router
.get('/user_info',user.get_user_info)
.post('/login', user.get_token)
module.exports = router
// 在app.js 文件中引入
const userRouter = require('./routers/user')
app.use(userRouter)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-78fD4sy2-1646204905139)(https://secure2.wostatic.cn/static/8rnaNdmyQZfp2herbgEQQw/image.png)]
// 类似下面的代码处理
get_token: async (req,res)=>{
let data = req.body
const { username, password } = data
let resToken = token.encrypt(data,'login')
res.send({
code: 20000,
data: {
token: resToken
},
msg: '成功'
})
},
module.exports = {
mysqlConfig :{
host: '120.78.185.140',
post:'3306',
database:"node_blog",
user:'node_blog',
password:"123456"
}
}
// 带占位符连接
function queryArgs(sql, args,callback) {
pool.getConnection(function (err, connection) {
connection.query(sql, args, function (err, rows) {
connection.release()
if (err) {
reject('连接失败')
} else {
callback(err,rows)
}
})
})
}
const router = require("express").Router();
const user = require('../controller/user')
router
.get('/user_info',user.get_user_info)
.post('/login', user.get_token)
module.exports = router
module.exports = {
selectById: 'select * from user where id= ?',
selectAll: 'select * from user '
}