Les problèmes de chemin d’importation du module peuvent-ils être résolus lors de la compilation du Webpack ?
<p>Je souhaite créer une version qui inclut uniquement des composants spécifiques dans le bundle en fonction de variables d'environnement. </p>
<p>Par exemple, lorsque j'importe le composant comme ceci : </p>
<pre class="brush:php;toolbar:false;">importer le Module1 depuis '@/components/Module1'</pre>
<p>Je souhaite que le chemin soit réellement transformé pour que l'importation ressemble à ceci : </p>
<pre class="brush:php;toolbar:false;">importer le module1 depuis '@/components/brands/' + process.env.APP_BRAND + 'Module1'</pre>
<p>Maintenant, je ne souhaite pas faire cela pour toutes les importations, mais uniquement pour des importations spécifiques (par exemple, des modules avec des versions de marque), alors je souhaite peut-être ajouter au chemin d'importation quelque chose comme <code>!brand ! </code>, qui sera l'indicateur pour appliquer la transformation de chemin.
Par conséquent, la logique ci-dessus ne doit être exécutée que pour les chemins d'importation suivants : </p>
<pre class="brush:php;toolbar:false;">importer le module1 depuis '!brand!@/components/Module1'</pre>
<p>Si <code>process.env.APP_BRAND</code> est faux, alors je souhaite simplement conserver l'importation d'origine (par exemple, supprimez simplement le préfixe <code>!brand!</code> du chemin ). </p>
<p>Le point important est donc que je souhaite que cela soit fait au moment de la construction afin que Webpack puisse analyser statiquement le module et créer une version optimisée. Est-ce faisable ? Je pense que je dois ajouter cette logique de conversion de chemin d'une manière ou d'une autre, mais comment dois-je le faire ? Dois-je créer un chargeur, un plugin ou existe-t-il une solution toute faite ? </p>
<p>J'utilise Webpack 5. </p>