2014-01-23 153 views
6

在你激发我之前,我已经完成了我的研究(Javascript ENV variables)。我知道使用Javascript访问系统环境变量是不可能的。ENV变量等效于Javascript

我正在使用Yeoman开发Javascript库。该库适用于Google Maps API,我的一些测试要求将Google Maps API作为依赖项。 要加载Google Maps API脚本,您需要一个API密钥。现在,我的代码位于我的Github上,我真的不希望将我的API密钥作为代码的一部分。

有没有任何Node模块能够在运行Grunt时将环境变量注入到我的测试中? Node.js中是否有任何ENV变量等价物?

这是一个需要JS ENV变量解决方案的例子。还有其他方法可以解决这个问题,但我特别寻找这种类型的解决方案

编辑:最重要的是,我怎么有这些ENV变量自动加载到我的程序,当我使用咕噜运行测试

谢谢!

+0

那么,你可以用node.js读取环境变量 - 只允许在浏览器中加载的网页访问客户端变量。但是,我不会为我的秘密api键使用env变量:-) – Bergi

+1

[如何存储Node.js部署设置/配置文件?](http://stackoverflow.com/questions/5869216/how -to-store-node-js-deployment-settings-configuration-files) - 并将它们包含在你的'gitignore'文件中。 – Bergi

回答

7

是的,您可以通过过程对象访问Node脚本中的环境变量。

console.log(process.env.secret_key); 

将您的API密钥存储在环境变量中比在回购中做得更好。

+0

以及如何在grunt命令期间运行此脚本 – connorbode

+0

任何时候当您运行节点脚本时,都可以使用该脚本。 – Daniel