如何解决我在电子中使用 require 时的问题
我正在用电子做一个简单的时事通讯应用程序,我需要连接到我的数据库,但是如果我使用“require”来调用 MysqL 库,它会给我“require 未定义”,我尝试使用 browsify 但它没有用,有人可以帮助我吗? (此脚本位于 HTML 页面中)
<script>
document.getElementById("btn").addEventListener("click",() => {
var MysqL = require (['./node_modules/MysqL']);
var connection = MysqL.createConnection({
host: 'localhost',user: 'user',password: 'password',database: 'db',});
$sql = 'SELECT `id`,`first_name`,`last_name`,`email` FROM `subscribers`';
connection.query($sql,function (error,results,fields) {
if (error) throw error;
console.log(results);
$('#resultDiv').text(results[0].email);
});
connection.end();
})
</script>
解决方法
Require 不是标准 JS API 的一部分,而是 Node API 的一部分。有一篇很棒的文章here。渲染 HTML 的电子渲染器进程无法直接访问节点 API。你可以设置一个像 Angular 或 React 这样的框架来为你提供更健壮的开发环境,或者你可以在主进程中使用 Node API 来为你获取数据。您可以使用 IPC 调用来回发送信息,以允许 HTML 页面向主进程发出需要信息的信号。 docs here 很好地展示了这是如何完成的。
我认为,为此目的,使用 Web 开发框架而不是使用 IPC 调用会更成功。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。