nodejs要求找不到名称[关闭]

Posted

技术标签:

【中文标题】nodejs要求找不到名称[关闭]【英文标题】:nodejs require cannot find name [closed] 【发布时间】: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 完全不相关 【参考方案1】:

试试

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

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

【讨论】:

以上是关于nodejs要求找不到名称[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

找不到类型或命名空间名称“DbContext”[关闭]

TS2304:找不到名称“要求”

TS2304:找不到名称要求和处理

angular2 找不到名称要求

角材料 (8) S2591:找不到名称“要求”

dplyr 重命名“找不到对象”[关闭]