我正在尝试使用Electron framework首次构建桌面应用,而我正在尝试使用Trilogy module。但是,不断出现一些错误。
基本上,我的代码的主要思想是拥有一个进入SQL数据库并检查表“ DATA”是否存在的按钮。 (我知道这有点of脚,但是我想在这里测试一下这个概念,所以请耐心等待。)
我的main.js代码只是在the beginner tutorial中找到的确切代码,在导入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中输出的文本变为“ THIS DOES N'T WORK”。我尝试在浏览器上运行它,但是浏览器无法识别“ require”和“ import”(我尝试使用这两个语句),并显示错误消息“找不到变量require”和“导入调用恰好需要一个论点”。单击该按钮后,当我调用db.hasModel()函数时,它在一行上显示“无法访问未初始化的变量”。
当我尝试删除import和require语句,然后直接将其直接加载到HTML中时,它会输出“未定义不是构造函数”的错误。
有人知道如何实现这一点,以便我可以做我想做的事吗?否则,也欢迎任何有关如何进一步调试的建议。谢谢。