从JavaScript调用函数到Node.js时,未定义如何解决error require()

从JavaScript调用函数到Node.js时,未定义如何解决error require(),javascript,node.js,Javascript,Node.js,我正在尝试创建一个网站,发现Javascript没有任何方式与数据库联系。我做了一些研究,发现了node.js。我创建了一个node.js文件,代码的一小部分是: var mysql; var con; function initialise() { mysql = require('mysql'); con = mysql.createConnection({ host: "name of the server the database is on",

我正在尝试创建一个网站,发现Javascript没有任何方式与数据库联系。我做了一些研究,发现了node.js。我创建了一个node.js文件,代码的一小部分是:

var mysql;
var con;

function initialise() {
  mysql = require('mysql');
  con = mysql.createConnection({
    host: "name of the server the database is on",
    user: "name of user that has can add and delete stuff to the database",
    password: "password for the user",
    database: "name of the database"
  });
  con.connect(function(err) {
    if (err) throw err;
  });
}

function getCoach(sql, con) {
  return new Promise((resolve, reject) => {
    con.query(sql, function (err, rows, fields) {
      if (err) {
        reject = (err);
        throw err;
      }
      resolve(rows);
    });
  });
}

async function info() {
  con.connect(function(err) {
    if (err) throw err;
  });
  const results2 = await getCoach("SELECT username, password FROM coach", con);
  return results2;
  con.end();
}

我需要require('mysql')以便与数据库连接。我测试了它,可以在这个文件上与数据库建立连接,但是当我通过Javascript调用node.js文件中的函数时,我得到一个错误,说require()没有定义。我做了一些研究,发现很多像Browserify这样的东西都试图解决这个问题,但没有任何效果。如何删除错误,以便连接到通过JavaScript创建的数据库。我遗漏了什么?还有更好的方法吗?

尝试在函数之外包含require语句,如下所示:

const mysql = require("mysql")

你是说你试图从浏览器中运行同一个js文件,但它不起作用吗?@Jackyef是对的。您必须在服务器上运行此mysql连接并生成api(请参阅nodejs的“express”)。如果你想在客户端获得更多的控制,而你又不固定在mysql上,我可以推荐Google的Firebase,这可能是一个更简单的设置。