2017-08-08 11 views
0

//必要なConnection.js(モジュール)。Node.Jsエクスポート変数の問題

var mysql = require ('mysql'); 

var con ; 
con = mysql.createConnection ({ 
     host : 'localhost', 
     user : 'root' , 
     password : 'root', 
     database : 'mydb' 
}); 


exports.con = con; 

module.exports = con.connect (function (err) { 
     if (err) throw err; 
     console.log("Connected!"); 
    }); 

//controller.js

VAR接続=( './connection')を必要とします。 var mysql = require( 'mysql');

console.log(connection.con); 
var sql = "Select * from user;"; 
connection.con.query(sql , function (err,result) { 
    if(err) throw err; 
    console.log(result); 
}); 

私はそれが動作しますが、controller.jsでモジュールを使用しているとき、それは私にエラーを与えて、同じクエリでconnection.jsを実行します。 //エラーコード

TypeError: Cannot read property 'con' of undefined

答えて

0

あなたの最初の試みはほぼ正しいです。以前conプロパティを割り当て上書きcon.connect()通話応答、で、exportsを交換している、ということにすれば

module.exports = con.connect (function (err) { 
    if (err) throw err; 
    console.log("Connected!"); 
}); 

、除きます。それを取り除くと、あなたは大丈夫です! (@ Aky_0788で共有)参照チェックthisについて

var mysql = require ('mysql'); 

var con ; 
con = mysql.createConnection ({ 
    host : 'localhost', 
    user : 'root' , 
    password : 'root', 
    database : 'mydb' 
}); 


exports.con = con; 

con.connect (function (err) { 
    if (err) throw err; 
    console.log("Connected!"); 
}); 

0
//Connection.js (module) that is require. 

var mysql = require ('mysql'); 

var con ; 
con = mysql.createConnection ({ 
    host : 'localhost', 
    user : 'root' , 
    password : 'root', 
    database : 'mydb' 
}); 

con.connect (function (err) { 
     if (err) throw err; 
     console.log("Connected!"); 
}); 

exports.con = con; 

controller.js

var connection = require ('./connection'); 
var mysql = require ('mysql'); 
console.log(connection.con); 
var sql = "Select * from user;"; 
connection.con.query(sql , function (err,result) { 
    if(err) throw err; 
    console.log(result); 
}); 
関連する問題