@babel/plugin-transform-template-literals
信息
此插件包含在 @babel/preset-env
中
示例
输入
JavaScript
`foo${bar}`;
输出
JavaScript
"foo".concat(bar);
安装
- npm
- Yarn
- pnpm
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
用法
使用配置文件(推荐)
无选项
babel.config.json
{
"plugins": ["@babel/plugin-transform-template-literals"]
}
有选项
babel.config.json
{
"plugins": [
[
"@babel/plugin-transform-template-literals",
{
"loose": true
}
]
]
}
通过 CLI
Shell
babel --plugins @babel/plugin-transform-template-literals script.js
通过 Node API
JavaScript
require("@babel/core").transformSync("code", {
plugins: ["@babel/plugin-transform-template-literals"],
});
选项
loose
boolean
,默认为 false
。
注意
考虑迁移到顶层 mutableTemplateObject
假设。mutableTemplateObject
。
babel.config.json
{
"assumptions": {
"mutableTemplateObject": true
}
}
当 mutableTemplateObject
为 true
时,带标签的模板字面量对象不会被冻结。所有模板字面量表达式和准则都使用 +
运算符组合,而不是使用 String.prototype.concat
。
当 false
或未设置时,所有模板字面量表达式和准则都使用 String.prototype.concat
组合。它将正确处理 Symbol.toPrimitive
的情况,并在模板字面量表达式为 Symbol()
时正确抛出错误。参见 babel/babel#5791。
输入
JavaScript
`foo${bar}`;
输出
JavaScript
"foo" + bar;
提示
您可以阅读更多关于配置插件选项的信息 此处