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
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';
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';