Je rencontre un problème avec les modules-exports et les require() dans NodeJS. Je m’explique. J'ai deux fichiers javascript file_1.js et file_2.js . Dans fichier file_1.js j'ai besoin d'importer des fonctions du fichier file_2.js. J'ai le même besoin dans mon fichier file_2.js. Je me retrouve donc avec :
//**************************************
//file_1.js
var fn_file2 = require('./file_2.js');
function() {
//Utilise la fonction createLogin
fn_file2.createLogin();
}
var logout = function() {
//Faire des trucs
}
module.exports = {
logout: logout
}
//**************************************
//file_2.js
var fn_file1 = require('./file_1.js');
function() {
//Utilise la fonction logout
fn_file1.logout();
}
var createLogin = function() {
//Faire des trucs
}
module.exports = {
createLogin: createLogin
}
Ma console me retourne une erreur est me dit que fn_file1.logout() n'est pas définit .
Est-il interdit avec nodeJs que deux fichiers s'appellent mutuellement par le biais d'un require() ?
++++++++++++++++ UPDATE +++++++++++++++++
En fait c'est un problème de loop qui se mettent en place car les deux fichiers s'appellent mutuellement. Il est donc necessaire de placer le require() à un autre endroit.
//**************************************
//file_1.js
function() {
//Utilise la fonction createLogin
var fn_file2 = require('./file_2.js');
fn_file2.createLogin();
}
var logout = function() {
//Faire des trucs
}
module.exports = {
logout: logout
}
//**************************************
//file_2.js
function() {
//Utilise la fonction logout
var fn_file1 = require('./file_1.js');
fn_file1.logout();
}
var createLogin = function() {
//Faire des trucs
}
module.exports = {
createLogin: createLogin
}
Vous trouverez plus d'information sur le post de Stackoverflow ici ou donc la documentation de nodeJs ici.
- Edité par renjusyeager 18 octobre 2018 à 18:53:27
nodeJs - exports/require - 2 fichiers
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.