亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

您如何正確導出/導入 NodeJs 類及其各自的功能

您如何正確導出/導入 NodeJs 類及其各自的功能

瀟瀟雨雨 2022-07-08 10:44:34
背景:我正在使用帶有nodejs的mysql。我希望經常使用嵌套查詢,因此為了避免“回調地獄”,我制作了一個簡單的類,其中包含由 Promises 支持的函數。問題:將我的類導入我想要的文件后,我嘗試在路由query(sql, params){...}內的 POST 請求中調用我的函數/login,但是我收到以下錯誤:TypeError: Database.query is not a function 注意:我的所有代碼都已編譯,因此我的文件位置沒有問題進口。當我運行程序時會出現問題。代碼:Database.js: 這就是我要導出到我的api.js文件中的內容。var mysql = require('mysql');const configuration = {    host: 'localhost',    user: 'root',    password: '******',    database: 'myDB'}class Database {    constructor(configuration) {        this.connection = mysql.createConnection(configuration) //    }    query(sql, params) {        return new Promise(function(resolve, reject) {            this.connection.query(sql, params, function(err, result) {                if(err) return reject(err)                resolve(result)            })        })    }}module.exports = Databaseapi.js:這是我的應用程序后端邏輯的位置。...var Database = require('../classes/Database')//This is the route responsible for invoking my database queryrouter.post('/login', function(req,res,next) {    const query1 = "SELECT * FROM users WHERE username = ? AND pass = ?"    Database.query(query1, [req.body.username, req.body.password])    .then((result) => {        if (result.length) {            if (req.session.username) {                res.send('You are logged in')            } else {                req.session.username = req.body.username                res.send('You have successfully logged in')            }        } else {            res.send('Incorrect Credentials')        }    }).catch((err) => console.log(err)) })
查看完整描述

1 回答

?
慕勒3428872

TA貢獻1848條經驗 獲得超6個贊

query是一種可以在實際對象上調用的方法。你稱之為()的方式,它必須是類的靜態方法DatabaseDatabaseDatabase.queryDatabase

要使用query,您必須在Database某處進行初始化,例如使用const database = new Database(config);. 然后您可以訪問該對象并調用querydatabase.query(...)。


查看完整回答
反對 回復 2022-07-08
  • 1 回答
  • 0 關注
  • 124 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號