Это правильный способ создания глобальной константной переменной? - PullRequest
0 голосов
/ 19 мая 2018

Я пытаюсь создать глобальные константные переменные, и мне интересно, если это хороший способ?

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

1 Ответ

0 голосов
/ 19 мая 2018

"НЕ используйте глобальные переменные! Если вы запустите приложение с несколькими процессами, вы очень сильно облажаетесь."

Чтобы использовать глобально доступную переменную, вы должны использовать модуль.

Например:

В файле с именем 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);
   });
});
...

См. Другой ответ того же Как использовать глобальную переменную в node.js?

...