个人学习用笔记:
路由的三种设置方式:
// ./router/router.js
// 首页
router.get('/',function(req,res,next(true/false)){
res.send('首页')
})
// 登录页
router.post('/login',function(req,res,next(true/false)){
console.log(req.body.xxx)
res.send('登录页')
})
// 注册页
router.get('/register',function(req,res,next(true/false)){
console.log(req.query.xxx)
res.send('注册页')
})
// 例子 https://localhost:3000/argu/params 传参
router.get('/argu/:id',function(req,res,next(true/false)){ // 设参
console.log(req.params.myParams) // myParams 接参
res.send('params传参')
})
具体使用的例子:
// app.js
var module = require('./router/module'); // 模块引入
var session = require('express-session'); // 会话机制模块
app.use('/module',module); // 模块调用
app.use(
session({
secret: "随机字符串",
cookie:{maxAge:20*60*1000}, // 存在时间
resave:true, // 重新储存
saveUninitialized:true
})
)
// ./router/module.js
var express = require('express');
var router = express.Router();
var query = require('./datapool');
// '/'相对于app.js中的 /module/
router.get('/',function(req,res,next){
res.send('模块内容');
})
// '/login'相对于app.js中的 /module/login
router.get('/login',function(req,res,next){
res.send('模块内容'); // 打印
res.render('module',{ /* 传递的参数 */})
})
// '/submit'相对于app.js中的 /module/submit
router.post('/submit',function(req,res,next){
var title = req.body.title,content = req.body.content;
// 进行数据库操作
var sqlCommand = `insert into node_user (title,content) values (${title},${content})`; // 输入命令
query (sqlCommand,function(err,vals,fileds){ // vals字段,fileds字段的定义
console.log(vals)
})
})
module.exports = router;
// module.ejs
<form action="/module/submit" method="post">
<input type="text" name="title" />
<textarea name="content"></textarea>
<button type="submit">发表评论</button>
</form>