Loading

搭建express框架

express创建项目与vue差不多,两者都有脚手架。

1.全局安装Express及express-generator(express的脚手架)

命令:npm install  -g express,npm install -g express-generator

2.初始化一个Express应用

命令:express express-app(其中express-app为项目名称

初始化后的项目目录结构:

 

目录结构简介:

  • app.js 应用的初始化文件,包括引入应用程序的基础依赖项、设置视图即view的引擎目录以及模板、设置静态资源路径、配置通用的中间件、引入路由和一些错误处理中间件等。
  • package.json 应用的配置文件,文件内包含程序的基础信息、启动脚本和依赖包等。
  • bin/www 应用的启动文件,文件内包含引用要启动的应用、设置应用监听的端口和启动http服务等。
  • public/** 应用的静态资源文件目录,该目录下的文件资源不需要经过文件映射就可以直接访问。
  • routes/** 应用的路由文件,这些路由文件中设置的接口最终会以指定的HTTP请求方式暴露给用户,并在用户请求之后将结果返回。
  • views 应用的视图文件,在app.js中设置好视图引擎和模板之后,该目录即为应用视图的根目录,然后路由文件就会根据app.js中的设置加载并渲染该目录下的视图文件。

 

3.启动应用

安装应用的依赖包命令:npm install

启动程序命令:npm start 或 node bin/www 

启动后,用浏览器访问:localhost:3000(默认启动端口为3000),可以看到如下页面:

 

 1.首先新建一个js文件,用来封装操作数据库得函数

 1 let mysql = require("mysql");
 2 let options = {
 3   host:"localhost",
 4   port:"3306",
 5   user:"root",
 6   password:"123",
 7   database:"hmy"
 8 }
 9 // 创建数据库连接
10 let con = mysql.createConnection(options)
11 
12 // 建立连接
13 con.connect((err)=>{
14   // 如果失败的操作
15   if(err){
16     console.log("连接数据库失败");
17   }else{
18     console.log("数据库连接成功!")
19   }
20 })
21 // 封装查询数据库的内容,返回promise
22 function sqlQuery(strSql,arr){
23   return new Promise((resolve,reject) => {
24     con.query(strSql,arr,(err,results) => {
25       if(err){
26         reject(err);
27       }else{
28         resolve(results)
29       }
30     })
31   })
32 }
33 // 导出函数
34 module.exports = sqlQuery;

 

2.在app.js中的代码配置

let sqlQuery = require("./mysql/mysql");
let express = require("express")
let options = {
  host:"localhost",
  port:"3306",
  user:"root",
  password:"123",
  database:"hmy"
}

let app = express()
app.get('/',(req,res) => {
  // 返回数据库前30条数据
  let strSql = "select * from  onepice limit 0,30";
  let result = sqlQuery(strSql);
  console.log(result);
  res.send("首页")
})
app.get('/person/:id',(req,res) => {
  
})

// 导出
module.exports = app;

  

 

 

 把res.send换为return res.jsonp(result);就可以发送json数据

3.根据所查寻得内容返回后台数据:

 

1 app.get('/person/:id',async(req,res) => {
2   let strSql = "select * from onepice where id = ? ";
3   let id = req.params.id;
4   // 把sql语句传入,并且传入占位符的参数
5   let results = await sqlQuery(strSql ,[id]);
6   //查询到的数据数组化,并返回json数据
7   res.json(Array.from(results))
8 })

 

 

 

 
posted @ 2020-05-14 19:57  兜里还剩五块出头  阅读(181)  评论(0编辑  收藏  举报