无法访问其他模块中的mysql.Connection对象
尝试从不同的文件创建mysql模型时出错。基本上,我在server.js中创建了连接对象并将其导出。我正在尝试从models/product.js访问连接对象。你能检查一下下面的代码并告诉我出了什么问题吗。 我有/server.js,如下所示:无法访问其他模块中的mysql.Connection对象,mysql,node.js,express,Mysql,Node.js,Express,尝试从不同的文件创建mysql模型时出错。基本上,我在server.js中创建了连接对象并将其导出。我正在尝试从models/product.js访问连接对象。你能检查一下下面的代码并告诉我出了什么问题吗。 我有/server.js,如下所示: const http = require('http'); const app = require('./app.js'); http.createServer(app).listen(3000); //DB c
const http = require('http');
const app = require('./app.js');
http.createServer(app).listen(3000);
//DB connection
const mysql = require('mysql');
const con = mysql.createConnection({
host : "XXXXXXX",
user : "******",
password: "*******",
database: "********"
});
con.connect(function(err){
if(err){
console.log("Not connected!!!")
//console.log(err);
}
else{
console.log("Sql server connected");
};
});
console.log(con);
module.exports = con;
and /api/models/products.js
const conn = require('../../server.js');
console.log(conn + "Models");
sql = "CREATE TABLE animals (id MEDIUMINT NOT NULL AUTO_INCREMENT,name CHAR(30) NOT NULL,PRIMARY KEY (id));";
conn.connect(function(err) {
if (err) throw err;
console.log("Connected!");
var sql = "CREATE TABLE customers (name VARCHAR(255), address VARCHAR(255))";
conn.query(sql, function (err, result) {
if (err) throw err;
console.log("Table created");
});
});
和/api/app.js作为
const express = require('express');
const app = express();
const morgan = require('morgan');
const cors = require('cors');
const productRoutes = require('./api/routes/products.js');
const orderRoutes = require('./api/routes/orders.js');
app.use(morgan('dev'));
app.use(cors());
app.use('/products', productRoutes);
app.use('/orders', orderRoutes);
//error handling for undefined routes
app.use( function (req, res){
res.writeHead('404');
res.write('Resource not found or you are not authorized');
res.end();
});
module.exports = app;
和/api/models/products.js
const conn = require('../../server.js');
console.log(conn + "Models");
sql = "CREATE TABLE animals (id MEDIUMINT NOT NULL AUTO_INCREMENT,name CHAR(30) NOT NULL,PRIMARY KEY (id));";
conn.connect(function(err) {
if (err) throw err;
console.log("Connected!");
var sql = "CREATE TABLE customers (name VARCHAR(255), address VARCHAR(255))";
conn.query(sql, function (err, result) {
if (err) throw err;
console.log("Table created");
});
});
当尝试在models/products.js中控制台.log(conn)时,我得到一个空对象,conn.connect也失败了