NOTE: This plugin is included in
@babel/preset-env
In
`foo${bar}`;
Out
"foo".concat(bar);
npm install --save-dev @babel/plugin-transform-template-literals
yarn add --dev @babel/plugin-transform-template-literals
pnpm add --save-dev @babel/plugin-transform-template-literals
Without options:
{
"plugins": ["@babel/plugin-transform-template-literals"]
}
With options:
{
"plugins": [
[
"@babel/plugin-transform-template-literals",
{
"loose": true
}
]
]
}
babel --plugins @babel/plugin-transform-template-literals script.js
require("@babel/core").transformSync("code", {
plugins: ["@babel/plugin-transform-template-literals"],
});
loose
boolean, defaults to false.
⚠️ Consider migrating to the top level
mutableTemplateObjectassumption.
{
"assumptions": {
"mutableTemplateObject": true
}
}
When mutableTemplateObject is true, tagged template literal objects aren't frozen. All template literal expressions and quasis are combined with the + operator instead of with String.prototype.concat.
When false or not set, all template literal expressions and quasis are combined with String.prototype.concat. It will handle cases with Symbol.toPrimitive correctly and throw correctly if template literal expression is a Symbol(). See babel/babel#5791.
In
`foo${bar}`;
Out
"foo" + bar;
You can read more about configuring plugin options here
© 2014-present Sebastian McKenzie
Licensed under the MIT License.
https://babeljs.io/docs/babel-plugin-transform-template-literals/