node.js-index.js与page.js共享mysql详细信息?

node.js-index.js与page.js共享mysql详细信息?,node.js,Node.js,index.js已经有mysql连接详细信息 page.js能够使用这些详细信息 这样我就不必提供mysql的详细信息了 再次转到page.js 还有。。需要生成page.js的输出 可用于index.js,因此index.js可以看到 mysql查询结果 index.js: var http = require('http'); var url = require('url'); var mysql = require('mysql'); var connection = mysql.cre

index.js已经有mysql连接详细信息
page.js能够使用这些详细信息
这样我就不必提供mysql的详细信息了
再次转到page.js

还有。。需要生成page.js的输出
可用于index.js,因此index.js可以看到 mysql查询结果

index.js:

var http = require('http');
var url = require('url');
var mysql = require('mysql');

var connection = mysql.createConnection({
    host     : '-------------',
    user     : '-----',
    password : '-------',
    database : '-----',
});

var server=http.createServer(function(req,res){
    res.writeHead(200,{'Content-Type': 'text/html; charset=utf-8'});
    require('page.js);
    res.end('test');
}).listen(80);
page.js:

connection.connect();

var queryString = 'SELECT * FROM t1 order by id desc limit 5';

connection.query(queryString, function(err,res,fields){
bb = JSON.stringify(res);
});

connection.end();

如果page.js应该像一个函数(输入和输出),那么无论如何,让它成为:

page.js

module.exports = function(connection, callback){
  connection.connect();

  var queryString = 'SELECT * FROM t1 order by id desc limit 5';
  var bb = undefined

  connection.query(queryString, function(err,res,fields){
    callback(JSON.stringify(res))
    connection.end();
  });
}
var server = http.createServer(function(req,res){
  require('./page')(connection, function(result){
    res.writeHead(200,{'Content-Type': 'text/html; charset=utf-8'});
    doSomethingWith(result); //result is bb
    res.end('test');
  });
}).listen(80);
index.js

module.exports = function(connection, callback){
  connection.connect();

  var queryString = 'SELECT * FROM t1 order by id desc limit 5';
  var bb = undefined

  connection.query(queryString, function(err,res,fields){
    callback(JSON.stringify(res))
    connection.end();
  });
}
var server = http.createServer(function(req,res){
  require('./page')(connection, function(result){
    res.writeHead(200,{'Content-Type': 'text/html; charset=utf-8'});
    doSomethingWith(result); //result is bb
    res.end('test');
  });
}).listen(80);

在您的
页面.js中

exports.makeQuery = function(connection, callback) {
  connection.connect();

  var queryString = 'SELECT * FROM t1 order by id desc limit 5';

  connection.query(queryString, function(err,res,fields){
    connection.end();
    if (err) {return callback(err)};

    bb = JSON.stringify(res);
    callback(null, bb);
  });
}
在其他方面:

var http = require('http');
var url = require('url');
var mysql = require('mysql');
var page = require('page.js');   //note here
var connection = mysql.createConnection({
    host     : '-------------',
    user     : '-----',
    password : '-------',
    database : '-----',
});

var server=http.createServer(function(req,res){
    res.writeHead(200,{'Content-Type': 'text/html; charset=utf-8'});
    page.makeQuery(connection, function(err, result){
      if(err) return res.end(err);
      res.end(result);
    });
}).listen(80);

虽然我认为这个答案是正确的。。结果是连接。end();第二次可能会导致问题,因为它在mysql中出现问题。我移动了连接。连接();到main.js,并完全消除了连接。end();直到进一步的数据。(可能connection.connect();在mysql中也会出现一个que,但只出现一次que(被执行)可能是解决方案?)