模块名"mysql"尚未加载上下文:_.使用要求([])

Module name "mysql" has not been loaded yet for context: _. Use require([])

本文关键字:quot 上下文 mysql 加载 模块      更新时间:2023-09-26

我是javascript语言的新手。我在Bluemix中创建了一个应用程序。对于这个应用程序,我附加了SQL数据库服务。从应用程序index.html中,我试图调用函数"TryConnect()",它具有连接到SQL数据库的逻辑。下面是TryConnect的实现:

  this.TryConnect = function(){
        var mysql = require("mysql");
        var conn = mysql.createConnection({
            host: "127.0.0.1",
            user: "user",
            password: "password",
            database: "SQL Database-ox"
            });
        conn.connect(function(err){
            if(err){
                console.log("Error connecting to DB");
                return;
            }
            console.log("Connection Established");
        });
    }

运行后,我得到以下错误:

未捕获的错误:模块名"mysql"尚未加载上下文:_。使用要求([])

我的index.html是这样的:

<!DOCTYPE html>
<html>
  <head>
    <title>NodeJS Starter Application</title>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="stylesheets/style.css">
    <script data-main="db" src="require.js" ></script>
    <script type="text/javascript" src="db.js" ></script>
    <script type="text/javascript">
    function ConnectToMySQL(){
        alert("connect");
        TryConnect();
        alert("connect end");
    }
    </script>
  </head>
  <body>
    <table>
      <tr>
        <td style= "width:30%;">
          <img class = "newappIcon" src="images/Calendar.jpg">
        <td>
            <h1>Hello!</h1>
          <p>Welcome to Calendar sync application.
             This application synchronizes all your events, meetings and favourites.
    </table>
    <input type="button" onClick="ConnectToMySQL()" value="Connect to DB"/>
  </body>
</html>

模块名"mysql"尚未加载上下文:_。使用要求([])

因为在你的代码中:

var mysql = require("mysql");
<标题> 快速修复

按错误提示做:

require(["mysql"],function(mysql){
       /// your code
}); 
长期

这个和其他事情在这里讨论:http://requirejs.org/docs/start.html

建议长期使用define

请包含node.js,它将有"mysql"声明,所以当你使用require("mysql")时,javascript引擎从给定的库加载减速。

请参考以下链接。

https://github.com/felixge/node-mysql

MySQL要求示例

尝试将此添加到您的代码中,它对我有效:

webPreferences: {
  nodeIntegration: true,
  contextIsolation: false
}