这是创建全局const变量的正确方法吗?

时间:2018-05-19 15:05:33

标签: node.js const global

我正在尝试创建全局const变量,我想知道这是否是好方法?

const sqlite3 = require('sqlite3')
Object.defineProperty(global, "db", {
    value: new sqlite3.Database(__dirname + '/database.db')
})

1 个答案:

答案 0 :(得分:0)

“不要使用全局变量!如果你开始使用多个进程运行你的应用程序,你将会非常糟糕。”

为了使用全局可访问的变量,您可以使用模块。

例如:

在名为db.js

的文件中
const sqlite3 = require('sqlite3'); 
exports.current = new sqlite3.Database(__dirname + '/database.db');

使用它:

const db = require('./db.js'); // instanciated only once
db.current.all("SELECT * FROM playlists", [], (err, rows) => {
   if (err) {
      throw err;
   }
   rows.forEach((row) => {
       console.log(row.name);
   });
});
...

请参阅相同的另一个答案 How to use global variable in node.js?