Bonjour à tous,

J'aurais besoin de vos lumières, j'arrive du monde Delphi et j'avoue que je suis un peu déboussolé avec NodeJs.

J'ai déjà fait un premier projet NodeJs + ejs + MySQL, mais un peu à l'arrache... il fonctionne correctement mais celui-ci j'aimerais le faire proprement...

Donc voilà comment j'aimerais structurer ce projet :

Le fichier principal : app.js
un/des autres fichiers pour décrire mes objets : Utilisateur.js, Vehicule.js

Je sais comment inclure tous ces fichiers dans le projet au lancement...jusque là tout-vas bien

mais voilà où je pèche...

Voivi un extrait du code de app.js
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 
var express = require('express');
var app = express();
const mysql= require('mysql');
const fs = require('fs');
const vm = require('vm');
 
const path = __dirname + '/views/';
vm.runInThisContext(fs.readFileSync(__dirname+'/SQL.js'));
vm.runInThisContext(fs.readFileSync(__dirname+'/ClassesVehicule.js'));
 
var cnn = mysql.createConnection({
  multipleStatements : true,
  host : 'localhost',
  port : 1234,
  database : 'DB_MaDB',
  user : 'root',
  password : '1234'
})
 
app.set('view engine','ejs');
 
//initialisation des objets
var Vehicule = new ClasseVehicule();
var Utilisateur = new ClasseUtilisateur();
 
app.get("/",function(req,res){
    console.log("Quelqu'un se connecte...");
  //1er rendu
  console.log('test = '+Test(cnn));
 
});
voici le code appelé pour exec dans un fichier appelé SQL.js (le paramètre con, signifie Connexion )
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
function Test(con){
  con.query('SELECT * FROM T_MATERIEL',function(err,results){
    if (err!=null){
    console.log('query erreur Vehicule = ' + err)
  }
  else{
    console.log('>>>>'+results[0].MATERIEL);
  	return results[0].MATERIEL;
 
  }
  });
}
ma question est comment récupérer le résultat de la fonction Test() dans app.js

Ma requête fonction correctement, mais je ne sais pas retourner le résultat...

à moins qu'il ne faut pas faire comme ça en NodeJs

Merci à ceux qui passerons par là et merci a ceux qui pourrons m'éclairer un peu

Bonne soirée
Christophe