我有一个在 Ubuntu 14.04 LTS 机器上运行的 Node.JS v8.11.1 应用程序。该应用程序提供 AngularJS Javascript 文件和使用它们的 HTML 文件。在将 Javascript 文件发送到客户端(即用户的浏览器)之前,我希望将一个字符串值注入(inject)到源自服务器上环境变量的 Javascript 文件之一中。
我知道我可以使用“process.env.{environment.variable name}”访问服务器端的环境变量。我需要知道的是如何获取该值,将其注入(inject)到我的 Javascript 文件中,以便当 Javascript 文件在客户端执行时,它的代码中包含所需的字符串。例如:
服务器端环境变量:
SOME_ENV_VAR=12345
服务器端源文件中的Javascript语句:
var someVar = "REPLACE ME AT RUNTIME";
源文件中的 Javascript 语句到达客户端时:
var someVar = "12345";
我应该怎么做?我应该使用像 Jade/Pug 这样的模板引擎吗?是不是太过分了?
最佳答案
app.get("some-script.js", (req, res) => {
fs.readFile("some-script.js", (err, file) => {
res.send(file.replace("12345", process.env.sth));
});
});
发送时替换即可。或者,您可以modify the file启动时:
fs.writeFileSync("some-script.js", fs.readFileSync("some-script.js").replace("12345", process.env.arg));
关于javascript - 将字符串注入(inject)到从 Node.JS 应用程序中的服务器端环境变量在客户端执行的 Javascript 文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49664394/