Aller au contenu principal

@babel/plugin-transform-template-literals

Traduction Bêta Non Officielle

Cette page a été traduite par PageTurner AI (bêta). Non approuvée officiellement par le projet. Vous avez trouvé une erreur ? Signaler un problème →

info

Ce plugin est inclus dans @babel/preset-env

Exemple

Entrée

JavaScript
`foo${bar}`;

Sortie

JavaScript
"foo".concat(bar);

Installation

npm install --save-dev @babel/plugin-transform-template-literals

Utilisation

Avec un fichier de configuration (Recommandé)

Sans options :

babel.config.json
{
"plugins": ["@babel/plugin-transform-template-literals"]
}

Avec options :

babel.config.json
{
"plugins": [
[
"@babel/plugin-transform-template-literals",
{
"loose": true
}
]
]
}

Via CLI

Shell
babel --plugins @babel/plugin-transform-template-literals script.js

Via l'API Node

JavaScript
require("@babel/core").transformSync("code", {
plugins: ["@babel/plugin-transform-template-literals"],
});

Options

loose

boolean, valeur par défaut : false.

attention

Envisagez de migrer vers l'hypothèse de haut niveau mutableTemplateObject.

babel.config.json
{
"assumptions": {
"mutableTemplateObject": true
}
}

Lorsque mutableTemplateObject est true, les objets des littéraux de gabarit étiquetés ne sont pas figés. Toutes les expressions et quasis des littéraux de gabarit sont combinées avec l'opérateur + au lieu de String.prototype.concat.

Lorsque false ou non défini, toutes les expressions et quasis des littéraux de gabarit sont combinées avec String.prototype.concat. Cela gérera correctement les cas avec Symbol.toPrimitive et lèvera une erreur correctement si une expression de littéral de gabarit est un Symbol(). Voir babel/babel#5791.

Entrée

JavaScript
`foo${bar}`;

Sortie

JavaScript
"foo" + bar;
astuce

Vous pouvez en savoir plus sur la configuration des options de plugin ici