Требовать и импортировать не работает для модулей в электронном - PullRequest
0 голосов
/ 03 января 2019

Я впервые пытаюсь создать настольное приложение, используя Electron Framework , и пытаюсь использовать Модуль Трилогии . Тем не менее, появляется несколько ошибок.

По сути, основная идея моего кода состоит в том, чтобы иметь кнопку, которая входит в базу данных SQL и проверяет, существует ли таблица «DATA». (Я знаю, что это отстойно, но я пытаюсь проверить концепцию здесь, так что терпите меня).

Мой код main.js - это именно тот код, который был найден в руководстве для начинающих , и до того, как я импортировал Trilogy, он работал нормально. Часть зависимостей моего package.json была следующей:

"dependencies": {
    "electron": "^2.0.16",
    "sql.js": "^0.5.0",
    "trilogy": "^1.4.5"
},
"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "electron ."
},
"devDependencies": {}

Заголовок моего HTML-кода импортировал скрипт "tri.js", а затем тело моего HTML-кода вызывало это с помощью:

<button onclick="search()">Produce Table</button>
<div id="table">table</div>

Файл для "tri.js" содержит следующий код:

require('trilogy');
const db = new Trilogy('./storage.db');

function search()
{
    var model = "THIS DOESN'T WORK";
    document.getElementById('table').innerHTML = model;
    if (db.hasModel('DATA')) {
        model = "YES";
    }
    else {
        model = "NO";
    }
    document.getElementById('table').innerHTML = model;
}

Когда этот код запускается с использованием npm start, выводимый текст в div становится «ЭТО НЕ РАБОТАЕТ». Я пытался запустить его в своем браузере, но мой браузер не распознавал «require» и «import» (я пытался использовать оба оператора) с сообщениями об ошибках «Can't find variable require» («Не удается найти переменную require») и «Call import ожидают ровно одного аргумент "соответственно. Когда кнопка нажимается, в строке появляется сообщение «Не удается получить доступ к неинициализированной переменной», когда я вызываю функцию db.hasModel ().

Когда я попытался удалить оператор import и require и сначала загрузить его прямо в HTML, он выдает ошибку «undefined не является конструктором».

Кто-нибудь знает, как это реализовать, чтобы я мог делать то, что хочу? Или, если нет, любые предложения о дальнейшей отладке также приветствуются. Спасибо.

...