javascript - 将字符串注入(inject)到从 Node.JS 应用程序中的服务器端环境变量在客户端执行的 Javascript 文件中?

标签 javascript node.js

我有一个在 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/

相关文章:

javascript - 捕获 flask 应用程序中的所有路径

javascript - 悬停时缩放 svg map 区域

javascript - 在生产环境中,对 Node.js 服务器的 POST 请求返回 404

javascript - setInterval() 保持 Node.js 进程运行

node.js - super 测试:检查 res.send() 之后发生的事情

javascript - 谷歌地图 API 中的 img 元素未触发 Onclick 事件

javascript - 单击时获取插入符号在文本区域中的位置

javascript - 使用 useContext 时 props.history 未定义?

javascript - NodeJS、Windows、wmic 标准输入

javascript - 在我的代码中收到以下错误 "Invalid left-hand side in assignment"