如何在Node.JS中正确编写模块?

FLAME878

因此,我正在尝试做到这一点,这样,当我只需将连接和runQuery函数放在一个文件中而只需要在另一个文件中时,就不必与数据库建立多个连接。这是我的“ mysql.js”文件中的内容。

const mysql = require('mysql');

module.exports = function () {
    let connection = mysql.createConnection({
        host: '------',
        user: 'voltclou_site',
        password: '----',
        database: process.env.database
    })

    connection.connect(function(err) {
        if (err) {
            console.error('[DATABASE] Error connecting: ' + err.stack);
            return;
        }
        console.log('[DATABASE] Connected as id ' + connection.threadId);
    });

    async function runQuery(query, values) {
        return new Promise((resolve, reject) => {
            connection.query(query, values, function (error, results) {
                if (error) return reject(error)
                return resolve(results)
            })
        })
    }
}

这是我想在文件中要求的方式:

const { connection, runQuery } = require('./functions/mysql')

我这样做正确吗?我是整个模块的新手。我一直试图将文件拆分,因为一个3000行以上的index.js太疯狂了。谢谢你的帮助。

伊法鲁基

不,您没有做到正确。完成的操作已将其导出为默认值,但您想导出命名函数。您可以这样做:

const mysql = require("mysql");

let connection = mysql.createConnection({
  host: "81.19.215.6",
  user: "voltclou_site",
  password: "yogO{6,F@8WS",
  database: process.env.database
});

connection.connect(function(err) {
  if (err) {
    console.error("[DATABASE] Error connecting: " + err.stack);
    return;
  }
  console.log("[DATABASE] Connected as id " + connection.threadId);
});

async function runQuery(query, values) {
  return new Promise((resolve, reject) => {
    connection.query(query, values, function(error, results) {
      if (error) return reject(error);
      return resolve(results);
    });
  });
}

module.exports = {
  connection,
  runQuery
};

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在路由(node.js)中正确使用next()

来自分类Dev

如何在Koa中正确使用Redis(node.js)

来自分类Dev

如何在Typescript中正确导入模块?

来自分类Dev

如何在 Vue 项目中正确导入 Three.js 模块?

来自分类Dev

如何在js中正确制作.map

来自分类Dev

如何在Ruby中正确编写仅在创建时验证

来自分类Dev

如何在Fuse python中正确编写readdir?

来自分类Dev

我如何在Django中正确编写此查询?

来自分类Dev

如何在dbGetQuery函数中正确编写表名?

来自分类Dev

如何在Entity Framework Core中正确编写种子方法?

来自分类Dev

如何在Fuse python中正确编写readdir?

来自分类Dev

如何在查询SQL oracle中正确编写别名

来自分类Dev

如何在命令(ssh)中正确编写命令?

来自分类Dev

如何在python中正确编写示例的元素

来自分类Dev

如何在 PHP echo 输出中正确编写 HTML 标记

来自分类Dev

在node.js的Restify模块中正确放置return next()的位置?

来自分类Dev

如何在uWSGI中正确加载Flask应用模块?

来自分类Dev

如何在VS Code中正确导入Python模块?

来自分类Dev

如何在Stripe Node.js库中正确创建“ Charge”?

来自分类Dev

如何在Node JS EventEmitter中正确删除事件监听器

来自分类Dev

如何在Node.js的每次循环执行中正确添加

来自分类Dev

如何在 Node.js 中正确检测 JSON 对象中的转义字符?

来自分类Dev

如何在 node.js 中正确使用 module.exports?

来自分类Dev

如何正确编写与Bluebird的PromisifyAll兼容的模块

来自分类Dev

如何在流星中正确导入js文件

来自分类Dev

Ember.js如何在组件中正确过滤模型

来自分类Dev

如何在flux中正确传递immutable.js对象

来自分类Dev

如何在gruntfile.js中正确使用数组变量

来自分类Dev

如何在JS中正确创建动态表?

Related 相关文章

  1. 1

    如何在路由(node.js)中正确使用next()

  2. 2

    如何在Koa中正确使用Redis(node.js)

  3. 3

    如何在Typescript中正确导入模块?

  4. 4

    如何在 Vue 项目中正确导入 Three.js 模块?

  5. 5

    如何在js中正确制作.map

  6. 6

    如何在Ruby中正确编写仅在创建时验证

  7. 7

    如何在Fuse python中正确编写readdir?

  8. 8

    我如何在Django中正确编写此查询?

  9. 9

    如何在dbGetQuery函数中正确编写表名?

  10. 10

    如何在Entity Framework Core中正确编写种子方法?

  11. 11

    如何在Fuse python中正确编写readdir?

  12. 12

    如何在查询SQL oracle中正确编写别名

  13. 13

    如何在命令(ssh)中正确编写命令?

  14. 14

    如何在python中正确编写示例的元素

  15. 15

    如何在 PHP echo 输出中正确编写 HTML 标记

  16. 16

    在node.js的Restify模块中正确放置return next()的位置?

  17. 17

    如何在uWSGI中正确加载Flask应用模块?

  18. 18

    如何在VS Code中正确导入Python模块?

  19. 19

    如何在Stripe Node.js库中正确创建“ Charge”?

  20. 20

    如何在Node JS EventEmitter中正确删除事件监听器

  21. 21

    如何在Node.js的每次循环执行中正确添加

  22. 22

    如何在 Node.js 中正确检测 JSON 对象中的转义字符?

  23. 23

    如何在 node.js 中正确使用 module.exports?

  24. 24

    如何正确编写与Bluebird的PromisifyAll兼容的模块

  25. 25

    如何在流星中正确导入js文件

  26. 26

    Ember.js如何在组件中正确过滤模型

  27. 27

    如何在flux中正确传递immutable.js对象

  28. 28

    如何在gruntfile.js中正确使用数组变量

  29. 29

    如何在JS中正确创建动态表?

热门标签

归档