【问题标题】:Node.js require connection inside multiple moduleNode.js 需要多个模块内的连接
【发布时间】:2018-11-19 15:36:52
【问题描述】:

我有一个关于 Node.js 的 require 函数的问题,假设我们有一个管理连接的模块,以及许多包含路由的小模块。

连接文件示例:db.js

const mysql = require('mysql');

const connection = mysql.createConnection({
 host     : '127.0.0.1',
 user     : 'root',
 password : '',
 database : 'chat'
});

connection.connect(function(err) {
 if (err) throw err;
});

module.exports = connection;

以及管理路线的各种文件之一:

const app = express();
const router = express.Router();
const db = require('./db');

router.get('/save',function(req,res){
 // some code for db
});

module.exports = router;

想象一下现在有 20 条具有相同需求的路线。 node.js 将如何表现?我的连接会被创建多少次?

【问题讨论】:

标签: javascript node.js


【解决方案1】:

我的连接会被创建多少次?

会有一个连接,因为“db.js”只运行一次。您导出的内容会被存储 (module.exports),每个 require("./db") 都会返回这些内容。验证:

 require("./db") === require("./db") // true

【讨论】:

    猜你喜欢
    • 2018-09-24
    • 2014-05-22
    • 2018-12-01
    • 1970-01-01
    • 2013-10-01
    • 1970-01-01
    • 2012-02-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多