node项目(二) koa脚手架的应用

本文介绍了Koa应用的启动流程,包括通过npmrundev启动项目,监听3000端口。详细讲解了如何配置和使用Koa-session进行会话管理,并展示了在app.js中的实现位置。此外,还阐述了数据库连接池的配置,包括创建conf.js来存储数据库信息,以及db.js中建立连接池的方法,并提供了查询示例。
摘要由CSDN通过智能技术生成

从项目目录里面不难看出,启用入口文件是bin下的www,引用文件是app.js

同时能够找到端口号的配置:在没有配置 环境变量的情况下,默认3000

一、项目启动 

npm run dev

 访问3000端口

二、序列化

npm i koa-session -S 

在app.js中添加如下代码

const session = require('koa-session')

 这块代码需要添加在body以下,route以上(代码执行顺序由上到下)

const store = {
  storage:{},
  set(){
    // 生成session内置key
    this.storage[key] = session;
    // 也可以数据库获取
  },
  get(key){
    // 从数据库获取
    return this.storage[key]
  },
  destroy(key){
    delete this.storage[key]
    // 也可以数据库里删除,释放空间
  }
}
// session
app.use(session({store},app))

三、连接池的配置

先准备好数据库

在目录下创建conf.js以及model文件夹

 

conf.js(根据现有数据库配置相关信息)

exports.db = {
    host: 'localhost',
    user: 'root',
    password: 'cy111',
    database: 'test'
}

db.js 

var mysql = require('mysql');
const { db } = require('../conf');
var pool = mysql.createPool(db);

exports.q = function (sql, params) {
    // node版本异常
    if(!params){
        console.log('当前查询参数没有值,请查看db.js:12',params);
    }
    return new Promise((resolve, reject) => {
        pool.getConnection(function (err, connection) {
            if (err) throw err; // not connected!

            // Use the connection
            connection.query(sql, function (error, results, fields) {
                // 调试方法
                console.log(`${sql}==> ${params}=> ${results}`);
                // When done with the connection, release it.
                connection.release();

                // Handle error after the release.
                if (error) {
                    console.log('数据库出现异常',error)
                    return reject(error);
                };
                resolve(results);
                // Don't use the connection here, it has been returned to the pool.
            });
        });
    })
}

使用:

输出 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值