node.js-index.js与page.js共享mysql详细信息?
index.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
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(被执行)可能是解决方案?)