Why is $ {} of ES6 invalid for String returned by NodeJS reading file

  node.js, question
var fs = require('fs'),
 X =' I am a variable';
 //The file content is "data1 = ${x}"
 var d1 = fs.readFileSync('./t.text','utf-8');
 var d2 = `data2 = ${}`;
 console.log(d1);  //output data1 = ${x}
 console.log(d2);  //Output data2 = I am a variable

This is also a String type. What is the difference between the two methods?
In addition, how can the String obtained after reading the file be converted to d2 and the variable can be assigned into it?

Defined in reverse quotation marksTemplate stringIs a kind ofGenerate stringTheGrammar, you can put the${}The expression in is calculated as part of the string.

To “turn” an ordinary string into a template string, you can put back quotation marks around the string and theneval. If you do not require an expression to be interpreted but only escape it${}The variables defined in can be replaced by regular, refer to:http://stackoverflow.com/a/31999948/918120