我正在做一个简单的电子通讯应用程序,我需要连接到我的数据库,但如果我使用"require"调用mysql库时,它给我"require is not defined",我试着使用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的一部分。这里有一篇很棒的文章。呈现HTML的电子呈现过程不能直接访问节点API。你可以设置一个像Angular或React这样的框架,它可以给你更健壮的开发环境,或者你可以在主进程中使用Node API来为你获取数据。您可以使用IPC调用来回发送信息,以允许HTML页面向主进程发出需要信息的信号。这里的文档很好地展示了如何做到这一点。
我认为使用web开发框架而不是IPC调用会更成功。