如何在html文件中获取节点配置

时间:2018-02-12 10:20:02

标签: javascript node.js node-config

我根据环境有一个节点配置。 https://github.com/lorenwest/node-config

default.json

{
  "server": {
    "host": "localhost",
    "protocol": "http",
    "port": 9011
  }
}

我想在index.html内部<script>标记中获取此内容。有谁知道这样做的方法是什么?

我可以在js文件中获得此配置,如下所示

app.js

var config = require('config');
console.log(config.server.host);

2 个答案:

答案 0 :(得分:1)

对app.js文件进行ajax调用并获取配置文件数据并在index.html文件中使用

答案 1 :(得分:1)

我是node-config的维护者。在复杂的应用程序中,您可能只有一些秘密,您只想在后端看到,以及您想要与前端共享的一些值。

将您要共享的所有值与frontend配置密钥下的前端放在一起。

然后创建一条express路由,在frontend处为/config.js配置提供服务:

router.get('/config.js', _configjs);
// Cache the config, don't recompute it on every request
var configJavascript = 'window.CONFIG='+JSON.stringify(config.get('frontend'));
function _configjs (req, res) {
  res.setHeader("Content-Type", "text/javascript");
  // Last modified now
  res.setHeader('Last-Modified', (new Date()).toUTCString());
  // Cache the config for 5 minutes
  res.setHeader('Cache-Control', 'max-age='+(60*5));
  res.writeHead(200);
  res.end(configJavascript);
}

现在从前端加载/config.js后,您可以通过

访问前端配置