Node.js需要在多个模块内进行连接

时间:2018-11-19 15:36:52

标签: javascript node.js

我对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将如何表现?我的连接将创建多少次?

1 个答案:

答案 0 :(得分:1)

  

我的连接将创建多少次?

会有一个 连接,因为“ db.js”仅运行一次。您导出的内容将被存储(from IPython.display import HTML HTML("""<video width="100" height="100" controls><source src="movie1.mp4" type="video/mp4"></video>""") ),并且每个module.exports都会返回该内容。要验证:

require("./db")