Express:在客户端和服务器之间共享JS配置文件的最佳方式

时间:2011-12-20 00:22:57

标签: node.js configuration-files express

我有一个config.js文件,其中包含我的所有应用设置。其中一些设置需要与前端脚本和后端共享。

我有一些机密变量,但我不希望暴露给前端。任何NodeJS / ExpressJS wizz孩子都有这方面的好解决方案吗?

您是否将公共配置数据保存在/public位置,并将机密服务器端数据分开显示在公开的/public文件夹上?

谢谢你们

4 个答案:

答案 0 :(得分:7)

使用express-expose将数据从服务器共享(或“公开”)到客户端的效果非常好。正如Raynos所说,我会将机密变量保存为环境变量,然后您就可以安全地公开所有设置。

或者您可以在设置中创建“共享”对象。像这样:

app.set('shared', {
    setting1: mydata
  , setting2: new OAuth(...)
  , setting3: { ... }
});

允许您在服务器上以app.setting.shared.setting1访问设置,然后您可以app.expose(app.setting.shared),以便客户端JS可以访问同一个对象。

答案 1 :(得分:2)

您可以使用express-expose与前端共享变量,也可以使用browserify并在模块中共享您的设置。

答案 2 :(得分:1)

  

我有一些机密变量,但我不希望这些变量暴露给前端。

我通常在环境变量中定义机密变量。这也解决了在版本控制中提交/硬编码这些变量的问题。

答案 3 :(得分:0)

雅虎还有express-state,它可以让你

  

与Express共享Express应用程序的配置和状态数据   客户端通过JavaScript

有详细记载,自述文件包含许多有用的示例

相关问题