为了账号安全,请及时绑定邮箱和手机立即绑定

nodeJS中查询和表达的问题

nodeJS中查询和表达的问题

青春有我 2022-07-15 10:13:22
我正在为带有nodeJS的服务器使用express开发一个网页。我在注册页面上,并且正在尝试验证用户插入的数据,但是当我进行查询时出现错误。auth.jsconst express = require('express');const router = express.Router();const { bd } = require('../database');const help_functions = require('../lib/common');router.post('/signup', async (req,res) => {    const fullname = req.body['fullname'];    const email = req.body['email'];    const username = req.body['username'];    const password = req.body['password'];    const password_repeat = req.body['password_repeat'];    var validation_msg = help_functions.validateSignUp(fullname, email, username, password, password_repeat);    validation_msg = await help_functions.checkRepeatedUserEmail(email);});数据库.jsconst mysql = require('mysql');const { promisify } = require('util');const database =  { // Database credentials }const bd = mysql.createPool(database);bd.getConnection((err,connection) => {    if (err) {        if (err.code === 'PROTOCOL_CONNECTION_LOST') {            console.error('Database connection failed !');        }        if (err.code === 'ER_CON_COUNT_ERROR') {            console.error('Database has too many connections !');        }        if (err.code === 'ECONNREFUSED') {            console.error('Database connection was refused !');        }    }    if (connection) {        connection.release();        console.log('Database is connected !');        return;    }});bd.query = promisify(bd.query);module.exports = bd;common.jsconst { bd } = require('../database');const helper_functions = {}helper_functions.validateSignUp = (fullname, email, username, password, password_repeat) => {    if (fullname === '' || email === '' || username === '' || password === '' || password_repeat === '') {        return 'All the fields had to be completed!';    }    if (!(password.length >= 8 && (/\d/g.test(password) && (/[A-Z]/.test(password)))) ) {        return 'The password needs to contain at least one capital letter, a number and 8 digits!';    }有谁知道发生了什么??谢谢阅读!
查看完整描述

2 回答

?
侃侃无极

TA贡献2051条经验 获得超10个赞

您将数据库公开为默认导出database.js

module.exports = bd;

但是您正在导入它,就好像它是用名称导出的一样db

const { bd } = require('../database');

将导出更改database.js为:

module.exports = {
    bd: bd};

或将其导入common.js文件中:

const bd = require('../database');


查看完整回答
反对 回复 2022-07-15
?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

错误说 db 没有在 common.js 文件中定义,可能是你做错了 require('../database'); 该 require 语句中有错误。使用调试器在该点停止,看看你是否在那里得到 db。



查看完整回答
反对 回复 2022-07-15
  • 2 回答
  • 0 关注
  • 135 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号