来自外部文件的模板文字

时间:2017-03-19 00:17:00

标签: javascript

我想将一些变量传递到我拥有的html文件中,然后通过电子邮件发送。其中大部分与问题无关,所以我将采用一个基本的例子。

基本模板文字的工作原理如下:

myLink = "google.com"
myID = "testID"
template = `Please visit ${myLink}/${myID} and let them know that ${myID} sent you.`

这将使模板返回:

Please visit google.com/testID and let them know that testID sent you.

我现在已将模板代码复制到外部文件中,并使用fs.readFileSync将文件读入变量。问题是,在读取文件后,它实际上并未评估${myLink}${myID}值。反正有没有完成这个?如果模板文字无法做到这一点,请指点我正确的方向吗?

2 个答案:

答案 0 :(得分:7)

您不想阅读该文件,首先将其作为字符串读取,其次有更好的方法来处理JS模块。

你想要的是从一个文件导出寺庙字符串作为一个函数,并将其导入另一个文件。

文件1:

module.exports = (myLink, myID) => `Please visit ${myLink}/${myID} and let them know that ${myID} sent you.`

文件2:

const createString = require('./file1');
console.log(createString('google.com', 'testID'));

答案 1 :(得分:1)

我知道eval并不太受欢迎,但这似乎是解决您问题的唯一方法。

eval("`"+str+"`");

可以在此处找到一个有效的示例:https://htmlpen.com/-ae6h12en6q/editor/