zoukankan      html  css  js  c++  java
  • 搭建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 })

     
  • 相关阅读:
    JavaScript var,let,const三个关键字的区别
    nuxt head 配置
    阿里云MySQL安装到centos,并链接。
    js Array 的所有方法
    关于手机某些字体显是不全
    关于设备与canvas画不出来的解决办法
    关于github 新工程上传代码 git 命令
    高德地图3D菱形 区域点击搜索
    高德地图行政区域划分(西安)
    vue2获取dom节点
  • 原文地址:https://www.cnblogs.com/hmy-666/p/12891037.html
Copyright © 2011-2022 走看看