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

标签 node.js constants global

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

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

最佳答案

“不要使用全局变量!如果您开始使用多个进程运行应用程序,您将会陷入困境。”

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

例如:

在名为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?

关于node.js - 这是创建全局 const 变量的正确方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50426667/

相关文章:

javascript - 在另一个 JS 文件中调用全局函数。如何让 'this' 工作?

c++ - 全局使用的 Typedef 变量?

javascript - 如何将数据从服务器代码传递到 ejs 模板?

node.js - 如何让Node.js的fs.appendFile方法立即刷新到磁盘?

html - 打印 JSON 字符串并使用 HTML 和 CSS 对其进行格式化

css - CSS 文件上的 ExpressJs 404

PHP OOP - 如何定义带有变量或函数输出的 CONST?

variables - FXML 文件中的常量

typo3 - 如何在常量中使用 Sitename 作为 TYPO3 中的默认值?

function - 如何在qml中创建全局函数