var fs = require('fs'),
x = '我是变量';
// 文件内容为 "data1 = ${x}"
var d1 = fs.readFileSync('./t.text','utf-8');
var d2 = `data2 = ${}`;
console.log(d1); // 输出 data1 = ${x}
console.log(d2); // 输出 data2 = 我是变量
同样是String类型,这两种方式有什么区别呢?
另外,读取文件后拿到的String怎么转换成d2那样,可以赋值变量进去呢?
用反引号定义的模板字符串是一种生成字符串的语法,可以将
${}
中的表达式算出来后作为字符串的一部分。要让普通字符串“变成”模板字符串,可以将字符串左右加上反引号然后
eval
。如果不要求解释表达式而只需转义${}
中定义的变量,则可以用正则替换,参考:http://stackoverflow.com/a/31999948/918120