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

时间:2015-10-13 05:35:53

标签: javascript mysql ibm-cloud

我是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"尚未加载上下文:_。使用require([])

我的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>

2 个答案:

答案 0 :(得分:1)

  

模块名称&#34; mysql&#34;尚未加载上下文:_。使用require([])

因为您的代码:

var mysql = require("mysql");

快速修复

做错误的问题:

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

长期

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

建议长期使用define

答案 1 :(得分:0)

请包含node.js,它将包含&#34; mysql&#34;声明所以当你使用require(&#34; mysql&#34;)时,javascript引擎会加载给定库的减速度。

请参阅以下链接。

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

MySQL requirements for examples