nodeJS之Express------解析目录、热更新以及连接数据库

115 阅读1分钟

一、目录解析

以下目录为应用生成器工具 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}

image.png

二、热更新

安装到本地 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,
      });
    }
  );
});

image.png