Je souhaite définir des importations globales ou des variables pour les utiliser dans tous mes fichiers.

Un exemple serait celui-ci

var T = require('react-redux-i18n').Translate;

Pour le moment, je dois le faire dans tous mes fichiers. Existe-t-il un moyen de le faire une seule fois dans le fichier index.js?

Merci

1
Felix 5 avril 2017 à 13:51

2 réponses

Meilleure réponse

Pourquoi ne pas le faire de la manière javascript classique avec module.exports? c'est-à-dire que dans index.js, faites quelque chose comme

var1 = '..';
var2 = '...';
...
module.exports= {var1, var2}

Puis dans d'autres fichiers, faites simplement

import /path/to/index
...
console.log(index.var1)
console.log(index.var2)

Ou pour importer uniquement ce dont vous avez besoin

import {name_of_var_i_need} from /path/to/index
...

Bien que je suggère de le faire dans un fichier constants.js ou quelque chose comme ça au lieu de les avoir tous dans votre index.js (à moins bien sûr qu'ils aient besoin d'être initialisés dans l'index)

2
Daniel Persaud 5 avril 2017 à 11:11

Techniquement, vous pouvez placer tous les globaux sur l'objet window puis lire à partir de celui-ci. Ceci est généralement considéré comme une mauvaise pratique car c'est déroutant et ne fonctionne pas avec des techniques d'optimisation comme le fractionnement de code.

Mon conseil: n'essayez pas d'enregistrer des frappes comme ça. Copier quelques importations dans chaque fichier dans lequel vous les utilisez n'est pas un gros problème et rend le programme facile à comprendre à la fois pour vous et pour différents outils. Vous pouvez pirater mais à la fin cela n'en vaudra pas la peine.

2
Dan Abramov 5 avril 2017 à 11:13