Vai al contenuto principale

@babel/plugin-transform-template-literals

Traduzione Beta Non Ufficiale

Questa pagina è stata tradotta da PageTurner AI (beta). Non ufficialmente approvata dal progetto. Hai trovato un errore? Segnala problema →

informazioni

Questo plugin è incluso in @babel/preset-env

Esempio

In

JavaScript
`foo${bar}`;

Out

JavaScript
"foo".concat(bar);

Installazione

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

Utilizzo

Con un file di configurazione (Consigliato)

Senza opzioni:

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

Con opzioni:

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

Tramite CLI

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

Tramite Node API

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

Opzioni

loose

boolean, predefinito false.

attenzione

Considera di migrare all'assunzione di primo livello mutableTemplateObject.

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

Quando mutableTemplateObject è true, gli oggetti dei template literal taggati non vengono congelati. Tutte le espressioni e le quasis dei template literal sono combinate con l'operatore + invece che con String.prototype.concat.

Quando è false o non impostato, tutte le espressioni e le quasis dei template literal sono combinate con String.prototype.concat. Gestirà correttamente i casi con Symbol.toPrimitive e genererà un errore appropriato se l'espressione del template literal è un Symbol(). Vedi babel/babel#5791.

In

JavaScript
`foo${bar}`;

Out

JavaScript
"foo" + bar;
consiglio

Maggiori informazioni sulla configurazione delle opzioni del plugin sono disponibili qui