Saltar al contenido principal

@babel/plugin-transform-template-literals

Traducción Beta No Oficial

Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →

información

Este plugin está incluido en @babel/preset-env

Ejemplo

Entrada

JavaScript
`foo${bar}`;

Salida

JavaScript
"foo".concat(bar);

Instalación

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

Uso

Mediante un archivo de configuración (Recomendado)

Sin opciones:

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

Con opciones:

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

Mediante la CLI

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

Mediante la API de Node

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

Opciones

loose

boolean, valor predeterminado: false.

precaución

Considera migrar a la asunción de nivel superior mutableTemplateObject.

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

Cuando mutableTemplateObject es true, los objetos de plantillas etiquetadas no se congelan. Todas las expresiones y quasis de las plantillas literales se combinan con el operador + en lugar de con String.prototype.concat.

Cuando es false o no está definido, todas las expresiones y quasis de las plantillas literales se combinan con String.prototype.concat. Esto manejará correctamente los casos con Symbol.toPrimitive y lanzará un error correctamente si una expresión de plantilla literal es un Symbol(). Consulta babel/babel#5791.

Entrada

JavaScript
`foo${bar}`;

Salida

JavaScript
"foo" + bar;
consejo

Puedes leer más sobre cómo configurar opciones de plugins aquí