未捕获的ReferenceError:在角度2中未定义require

时间:2017-05-22 07:38:37

标签: javascript html node.js html5 angular

我在一个有角度2和node.js的网站上工作,我尝试将我的BDD与JS脚本连接,但是当我在我的html文件中调用我的脚本时,我得到了错误:未捕获ReferenceError:未定义require。 我是角度2和网络的新手,但我不知道为什么我会遇到这个错误。 这是我的代码。

connexionsql.js:

        var mysql = require('mysql');
    var con = mysql.createConnection({
      host     : "127.0.0.1",
      user     : "root",
      password : "",
      database : "hope_to"
    });

    connection.connect(function(err) {
      if (err) throw err;
        con.query("SELECT nb_annee_experience FROM annee_experience", function (err, result) {
          if (err) throw err;
          console.log(result);
      });
    });

index.html:

        <!DOCTYPE html>
    <html>
      <head>
        <meta charset=UTF-8>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>HOPE TO</title>
        <base href="/">
        <nav>
          <a href="#"> <img src="C:\wamp64\www\angular2-seed-master\hopetotest.jpg" alt=""> </a>
          |
          <a href="connexion/connexion.html"> Connexion </a>
        </nav>
      </head>

      <body>
        <app>Loading...</app>
        <script async src="main.bundle.js"></script>
        <script src="connexionsql.js"></script>
      </body>
    </html>

1 个答案:

答案 0 :(得分:0)

如果要在前端使用require,则需要使用Browserify:

  

Browserify允许您通过捆绑所有依赖项来在浏览器中要求(“模块”)。

但是你不可能在没有任何后端代码的情况下直接连接到数据库,即使你可以,但由于很多原因,这将是一个非常糟糕的主意。通常做的是通过您的前端连接到的后端暴露API(通常是RESTful),它是可以访问数据库的后端,而不是前端。