Javascript avec nodejs ! problème de variables...

Fermé
aurelien de la réunion - Modifié par aurelien de la réunion le 14/10/2015 à 07:33
Voila je veux créer plusieurs fichier pour créer un petit serveur http qui gère mon site.

le Fichier Listener.js, ListenerHttp.js, ListenerFile.js, est le fichier utils.js ...

J'utilise les exports ça fonctionne bien je peux aller dans différente function.

Mais quand je suis dans mon fichier ListenerHttp.js j'ai du exports est une function normal...

est a chaque foi dans la function handler il arrive pas ah charger la function exports de ListenerFile.OpenFile


Voila le code...

ListenerHttp.js
var clc = require('cli-color');
var http = require('http').createServer(handler)
var Listener;

exports.ListenerHttp = function(Listener)
{
this.Listener = Listener;
this.Listener.Check();
console.log(clc.green('Lib ListenerHttp : Ok !'));
http.listen(8081);
}

function handler (request, respons)
{
console.log(clc.green('Lib ListenerHttp handler !'));
Listener.ListenerFile.OpenFile(request, respons);
}

exports.Send = function (request, respons, Data, Content_Type)
{
respons.writeHead(200, {'Content-Type': Content_Type,'Content-Length':Data.length});
respons.write(Data);
respons.end();
}

function Send (request, respons, Data, Content_Type)
{
respons.writeHead(200, {'Content-Type': Content_Type,'Content-Length':Data.length});
respons.write(Data);
respons.end();
}


Listener.js
var clc = require('cli-color');

var ListenerHttp = require("./ListenerHttp.js");
var ListenerFile = require("./ListenerFile.js");
var Utils = require("./Utils.js");

exports.Listener = function()
{
console.log(clc.green('--->Server launche !<---'));

ListenerHttp.ListenerHttp(this);
ListenerFile.ListenerFile(this);
Utils.Utils();
}

exports.Check = function()
{
console.log(clc.yellow('Listener check !'));
}

exports.Start = function()
{
console.log(clc.green('--->Server Started !<---'));
return this;
}



Est ListenerFile.js
var clc = require('cli-color');
var fs = require('fs');
var url = require('url');
var Listener;

exports.ListenerFile = function(Listener)
{
this.Listener = Listener;
this.Listener.Check();
console.log(clc.green('Lib ListenerFile : Ok !'));
}

exports.OpenFile = function(req, res)
{
var file = utils.UrlType(req.url);
var Content_Type = utils.GetExtensionsData(utils.Extension(file));
var filedir = utils.UrlType(__dirname + file);

var url_parts = url.parse(req.url, true);
var query = url_parts.query;
var pathname = url_parts.pathname;

if(file == "/")
{
filedir = utils.UrlType(__dirname + "/index.html");
}

fs.exists(filedir, function(exists)
{
if(exists == true)
{
console.log(clc.green("FileDir loading :" + filedir));
var readFile = fs.readFileSync(filedir, "UTF-8");
Listener.ListenerHttp.Send(req, res, readFile, Content_Type);
}
else
{
console.log(clc.red("Not FileDir exists :" + filedir));
filedir = utils.UrlType(__dirname + "/erreur.html");
console.log(clc.green("FileDir loading :" + filedir));
var readFile = fs.readFileSync(filedir, "UTF-8");
Listener.ListenerHttp.Send(req, res, readFile, Content_Type);
}
});

}