【问题标题】:nodejs require cannot find name [closed]nodejs要求找不到名称[关闭]
【发布时间】:2021-03-09 09:20:26
【问题描述】:

我正在尝试从导入中返回 connection 的实例。

const express = require('express')
const bodyParser = require('body-parser')

require("dotenv").config();

db = require('./services/db_service').db_connection() <---- here

var app = express();
app.use(bodyParser.json());

app.get('/customers' , (req, res) => {
    db.query('SELECT * FROM customers', (err, rows, fields) => {
        if (!err)
            res.send(rows);
        else
            console.log(err);
    })
} );

app.listen(process.env.PORT, function () {
  console.log(`Example app listening on port ${process.env.PORT}!`)
})

/services/db_service.ts 文件中:

export const db_connection = function () {
    const { HOST, USER, PASSWORD, DATABASE } = process.env
    var mysql = require('mysql');

    var con = mysql.createConnection({
      host: HOST,
      user: USER,
      password: PASSWORD,
      database: DATABASE,
      multipleStatements: true
    });

    con.connect(function(err) {
      if (err) throw err;
      console.log("Connected!");
    });

    return con; <--- return this

}

但我收到此错误:

index.ts:6:1 - error TS2304: Cannot find name 'db'.

db = require('./services/db_service').db_connection()

【问题讨论】:

  • 我猜你需要使用 import 而不是 require
  • @AbishekKumar 完全不相关

标签: mysql node.js express require


【解决方案1】:

试试

const db = require('./services/db_service').db_connection()

另外,要优化与数据库的新连接,请参阅您正在使用的 ORM 文档

【讨论】:

    猜你喜欢
    • 2017-01-29
    • 2017-11-03
    • 2018-08-29
    • 2016-01-28
    • 2017-10-14
    • 2017-06-29
    • 2019-12-25
    • 2020-05-30
    • 2020-08-21
    相关资源
    最近更新 更多