如何将Node.js环境variables注入到客户端JavaScript?

在我们的项目中,我们获得了Node.js托pipe的客户端JavaScript。

此脚本使用服务器中的另一个静态内容(如http://host:port/static/content )。 我们不能使用本地path,因为这个JavaScript可能注入不同的站点。

我们的开发,testing和生产环境具有不同的主机和端口设置。 所以我们必须为不同的环境硬编码这些属性。

解决这个问题最简单的方法是在准备静态文件的响应的同时手动将JavaScriptparsing为服务器端的string。

我认为这不是一个好主意。

在这种情况下,Node.js中是否有内置的机制?

PS对不起,我的英语。

我假设客户端代码是从一些dynamic生成的HTML中调用的。

如果“configuration”数据量相当小,则可以通过生成的HTML中的data-*属性传递它,例如<body data-static="http://host:port/static/content">或if它更大,内联<script id="config" type="application/json">元素。

这里的关键是避免dynamic生成代码,其唯一目的是代表数据 (40年前,Kernighan和Plauger在“编程风格的元素”一书中写道,他们想知道一个典型的计算机中心的日常活动多less等于简单通过编译器input参数)。 使用解释型语言,代码/数据区分很容易变得模糊,但值得将它们分开放置在头脑中。

PS你的英语比我见过的大多数问题要好。