gpt4 book ai didi

javascript - 模块名称 "mysql"尚未加载上下文 : _. 使用 require([]) http ://requirejs. org/docs/errors.html#notloaded

转载 作者:行者123 更新时间:2023-11-29 22:55:07 25 4
gpt4 key购买 nike

我正在 Visual Studio 社区中使用 Apache cordova 工具。我正在用 Javascript 编写一个混合应用程序。我在设置与 MySQL 数据库的连接时遇到此错误:
尚未为上下文加载模块名称“mysql”:_。使用 require([]) http://requirejs.org/docs/errors.html#notloaded

我的代码是

var mysql = require('mysql');

var connection = mysql.createConnection({
host : "localhost",
user : "root",
password: "root"
});

connection.connect();

connection.query("use verify");
var strQuery = "select * from table1";

connection.query( strQuery, function(err, rows){
if(err) {
throw err;
}else{
console.log( rows );
}
});

第一行弹出错误。我使用两者安装了 mysql

npm install mysql

npm install -g mysql

使用通常的命令提示符和使用 Node.js 的命令提示符,但问题仍然存在。我还将 mysql 文件夹从 nodejs 复制到应用程序的根文件夹,但问题仍然存在。

最佳答案

免责声明:我从未与 Cordova 合作过,因此不知道这是否有效:

RequireJS 中 require() 的语义与 NodeJS 中的略有不同:NodeJS 同步加载模块。因此您的代码可以立即得到处理。然而,在 RequireJS 中,代码是异步加载的。所以我们必须指定一个回调,当模块加载时要做什么。因此,如果这是问题的根源,您的代码应如下所示:

require( ['mysql'], function( mysql ) {
var connection = mysql.createConnection({
host : "localhost",
user : "root",
password: "root"
});

connection.connect();

connection.query("use verify");
var strQuery = "select * from table1";

connection.query( strQuery, function(err, rows){
if(err) {
throw err;
}else{
console.log( rows );
}
});
});

关于javascript - 模块名称 "mysql"尚未加载上下文 : _. 使用 require([]) http ://requirejs. org/docs/errors.html#notloaded,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28742684/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com