Вам нужно разобраться с механизмом
экспорта результата функции изнутри во внешнюю среду.
1. Документация
nodejs API "modules"
2.
Пояснения на Хабре
А в html-файле вывести результат в нужный элемент из скрипта поможет DOM API
innerHTMLmysql.jsvar mysql = require('mysql');
var connection = mysql.createConnection({
database : 'mysql',
user : 'root',
password : 'toor'
});
var x={};
var query = function(){
connection.connect();
connection.query('SELECT 1 + 1 AS solution', function(err, rows, fields) {
if (err) throw err;
x = rows[0].solution;
});
connection.end();
};
var answer = function(){
return x;
};
module.exports.query = query;
module.exports.answer = answer;
index.html<!DOCTYPE html>
<html>
<head>
<title>Hello World2!</title>
<script>
var mysql = require('./mysql.js');
function bodyOnLoad(){
mysql.query();
};
function getAnswer(){
document.getElementById("answer").innerHTML = mysql.answer();
}
</script>
</head>
<body onload="bodyOnLoad();">
<div id="answer" onClick="getAnswer;">Click me</div>
</body>
</html>
Но это одноразовый костыль. Чтобы работать с асинхронными коллбак-функциями,
вариант, предложенный
Evansive, элегантнее и удобнее для дальнейшей разработки. И проще, если сесть и понять концепцию, а ваша настойчивость и целеустремленность весьма впечатляют.
На хабре есть материалы, если с английским сложно.