Bonsoir à tous,

je ne suis pas en panne, mon code avance gentiment.
Je code un bot discord et j'aimerai faire un coup de propre.
Par moment j'utilise dans divers fichier js des méthode importées de librairie.

Plutôt que de les charger à chaque fichier, je voudrai les déclarer au départ dans le fichier main.js

//chargement des function audio de discord
const {joinVoiceChannel}=require('@discordjs/voice');
global.joinVoiceChannel= joinVoiceChannel;
const {createAudioPlayer}= require('@discordjs/voice');
global.createAudioPlayer=createAudioPlayer;
const {createAudioResource}=require('@discordjs/voice');
global.createAudioResource=createAudioResource
const {entersState}= require('@discordjs/voice');
global.entersState=entersState;
const {VoiceConnectionStatus}= require('@discordjs/voice');
global.VoiceConnectionStatus=VoiceConnectionStatus;
const {StreamType}= require('@discordjs/voice');
global.StreamType=StreamType
const {AudioPlayerStatus}= require('@discordjs/voice');
global.AudioPlayerStatus=AudioPlayerStatus
.....

J'ai codé ça, ce qui me permet d'avoir accés n'importe où à mes méthodes et divers informations

Mais à mon avis, l'une des personnes qui va lire ce bout de code va faire un facepalm
-Existe t'il un moyen de faire ça plus propre?
-Es ce bof, dangereux...

merci de vos conseils

Bonne soirée

Flo

3 réponses


Balsakup
Réponse acceptée

Salut, le moyen de faire propre c'est d'importer dans chaque fichier les libs que tu utilises, même si tu importes tout dans un fichier global, il faudra que tu exportes et réimportes dans les fichiers qui dépendent des ces variables.

global est à proscrire, chaque fichier à son scope, chaque lib doit seulement être lisible pour son scope. Au lieu de faire des require, tu peux utiliser la notation import qui est plus récente et plus utilisée.

import {joinVoiceChannel} from '@discordjs/voice';
Maenhyr
Réponse acceptée

Je suis d'accord avec Balsakup, global est à éviter pour garder un code propre. Autre chose, tu peux grouper tes imports.

// chargement des function audio de discord
const {
  joinVoiceChannel,
  createAudioPlayer,
  createAudioResource,
  entersState,
  VoiceConnectionStatus,
  StreamType,
  AudioPlayerStatus,
} = require('@discordjs/voice');

ou

// chargement des function audio de discord
import {
  joinVoiceChannel,
  createAudioPlayer,
  createAudioResource,
  entersState,
  VoiceConnectionStatus,
  StreamType,
  AudioPlayerStatus,
} from '@discordjs/voice';

ok, merci messieurs de m'avoir élcairer.

Bonne soirée.