我正在编写Node.js应用程序。在我的node-modules/abc/static/example.js
文件中,我想通过查询数据库来访问mysql记录。是否可以这样做?
当我包含这样的mysql:
var mysql = require('mysql');
我收到错误:
未捕获的ReferenceError:未定义require
是因为它在客户端吗?从' example.js'访问mysql数据库的其他选项有哪些?文件?
答案 0 :(得分:1)
我猜你是在尝试在客户端使用服务器端j。
你需要npm安装一个mysql适配器,@ coreyg建议这个(https://www.npmjs.com/package/mysql)。
设置一个nodejs项目(如果你还没有这样做):
npm init
npm install --save mysql
然后,您通常会创建某种Web应用程序,以便在客户端提供URL。然后你(使用ajax)请求网址。
在幕后,您的webapp会查询mysql数据库(使用您安装的适配器)以及您想到的任何查询。
一旦你的ajax调用完成,你就可以运行你的回调,它可以用从数据库返回的数据做你想做的事。
这是基本理论。如果您想了解有关如何执行此操作的更多信息,建议您阅读以下问题:How do I get started with Node.js
答案 1 :(得分:0)
继Neil Munro的回答之后, 在启动nodejs并安装mysql npm包后, 您实际上可以从终端执行您的代码。要做到这一点,
您可以在执行这些命令的同一文件夹上创建一个新的js文件,
说mysqlTestProject.js
在这个文件中,你可以把你以前的东西,(需要的东西和所有)。例如:
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : 'me',
password : 'secret',
database : 'my_db'
});
connection.connect();
connection.query('SELECT 1 + 1 AS solution', function(err, rows, fields) {
if (err) throw err;
console.log('The solution is: ', rows[0].solution);
});
connection.end();
``代码取自https://www.npmjs.com/package/mysql
然后从终端(仍在与您相同的文件夹中), 输入此行
node ./mysqlTestProject.js