一、目录解析
以下目录为应用生成器工具 express-generator
创建的一个应用的骨架
.
├── app.js //入口文件 包含不限于 渲染加载路由 处理信息
├── bin
│ └── www //启动文件 包含不限于端口、监听以及错误信息
├── package.json //配置文件 包含不限于项目名、版本、命令、安装包
├── public //静态资源 包含不限于样式 js 图片
│ ├── images
│ ├── javascripts
│ └── stylesheets
│ └── style.css
├── routes //路由 使用请求的方式获取结果
│ ├── index.js
│ └── users.js
└── views //视图 将路由结果渲染到模板通过链接直接展示【单纯的后台应用不要使用,按需选择】
├── error.pug
├── index.pug
└── layout.pug
7 directories, 9 files
以运行后的结果为例
//路由 expressTest\routes\index.js
var express = require("express");
var router = express.Router();
/* GET home page. */
router.get("/", function (req, res, next) {
res.render("index", { title: "Express1" });
});
module.exports = router;
//模板views\index.jade
extends layout
block content
h1= title
p Welcome to #{title}
二、热更新
安装到本地 npm install nodemon --save
//package.json
{
"name": "expresstest",
"version": "0.0.0",
"private": true,
"scripts": {
"start": "nodemon ./bin/www"
},
"dependencies": {
"cookie-parser": "~1.4.4",
"debug": "~2.6.9",
"express": "~4.16.1",
"http-errors": "~1.6.3",
"jade": "~1.11.0",
"morgan": "~1.9.1",
"nodemon": "^2.0.19"
}
}
重新运行,修改文件即可实时刷新
不使用模板引擎将res.render
改为res.send
三、连接数据库
安装npm i mysql -s
建立公共连接
// /config/db/sql
const mysql = require("mysql");
let connection = mysql.createConnection({
host: "localhost",
user: "root",
password: "******",
database: "midsummer", //数据库名称
});
module.exports = connection;
路由中引用并查询
// 根据姓名获取列表
router.get("/getInfoListByName", function (req, res, next) {
let name = req.query.name || "";
connection.query(
`SELECT * FROM userinfo WHERE NAME LIKE "%${name}%"`,
function (error, results) {
res.send({
code: 0,
data: results,
});
}
);
});