Traduire des packages spécifiques dans node_modules en es5
P粉481366803
2023-08-17 21:55:01
<p>Je réalise un projet Angular 12 (compatible IE) dans lequel certaines de mes dépendances dans node_modules ne sont pas es5. </p>
<p>D'après ma compréhension, <code>tsc</code> n'effectuera aucun traitement sur node_modules, mais récupérera uniquement <code>main</code> de <code>angular.json</code> L'option démarre l'évaluation. </p>
<p>En cherchant des options sur la façon de procéder, j'ai vu de nombreuses suggestions pour utiliser Babel, mais je ne suis pas sûr que</p>
<ol>
<li><p>Dois-je mélanger babel avec tsc.
Ou dois-je supprimer <code>tsc</code> et utiliser simplement babel via custom-webpack ? </p>
≪/li>
<li><p>Autant que je sache, dans toutes les transpilations, le code transpilé va dans un répertoire de sortie, mais comme je dois transpiler les fichiers js dans node_modules, la sortie de ces fichiers devrait simplement les remplacer dans l'original. fichiers dans node_modules ? Comment y parvenir ? </p>
≪/li>
</ol><p><br /></p>
Vous pouvez ajouter des remplacements spécifiques dans
include
dans tsconfig.Mais lorsque vous emballez pour le client, vous n'incluez généralement pas les dépendances en tant que scripts distincts, mais laissez l'outil d'empaquetage décider où les placer. Vous n'avez pas mentionné quel outil d'empaquetage vous utilisez actuellement, mais si vous l'avez
allowJS: true
configuré, vous n'avez pas besoin de Babel - par exemple, les modifications pertinentes apportées à votre configuration Webpack seraient :Cependant, si vous souhaitez un remplissage automatique, utiliser
@babel/preset-env
avec la chaîne Browserslist est probablement la meilleure option.