babel/packages/babel-plugin-transform-es2015-template-literals
2017-07-11 23:35:22 -04:00
..
2017-06-27 12:15:00 -05:00
2017-06-27 21:57:02 -05:00
2017-03-25 21:46:16 -04:00
2017-07-11 23:35:22 -04:00

babel-plugin-transform-es2015-template-literals

Compile ES2015 template literals to ES5

Example

In

`foo${bar}`;

Out

"foo" + bar;

Installation

npm install --save-dev babel-plugin-transform-es2015-template-literals

Usage

.babelrc

Without options:

{
  "plugins": ["transform-es2015-template-literals"]
}

With options:

{
  "plugins": [
    ["transform-es2015-template-literals", {
      "loose": true,
      "spec": true
    }]
  ]
}

Via CLI

babel --plugins transform-es2015-template-literals script.js

Via Node API

require("babel-core").transform("code", {
  plugins: ["transform-es2015-template-literals"]
});

Options

loose

boolean, defaults to false.

In loose mode, tagged template literal objects aren't frozen.

spec

boolean, defaults to false.

This option combines all template literal expressions and quasis 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}baz${quux}${1}`;

Out

"foo".concat(bar, "baz").concat(quux, 1);