Я пытаюсь создать версию одного из моих приложений Electron для командной строки в виде Node.js сценария. Для начала я скопировал код из моего приложения Electron, но он не ведет себя так же. В качестве примера, у меня есть два модуля, которые я создал. При вызове webscraper.scrape()
в приложении Electron код выполняется должным образом. Однако, когда я вызываю функцию в простом скрипте Node.js, она выдает "database is not defined error"
. При тестировании с другими переменными кажется, что никакие переменные, которые я определяю в main.js
, не доступны ни в одном из моих модулей, что противоположно тому, как это было в моем приложении Electron.
Это ожидаемое поведение? Как я могу сделать мои переменные доступными для моих модулей? Это плохая практика, и если да, то как я могу улучшить как свои Electron, так и Nods. js сценарии?
// main.js
var database = require('./src/database.js');
var webscraper = require('./src/webscraper.js');
database.init().then(()=> {
webscraper.scrape();
});
// webscraper.js
exports.scrape = function() {
// Find where we left off
database.connection.query('SELECT `last_searched` FROM `post_index` WHERE `id` = 0', function (err, results) {
if (err) throw err;
...
});
}