7

Before you flame me, I've done my research (Javascript ENV variables). I know that it is not possible to access system environment variables using Javascript.

I'm using Yeoman to develop a Javascript library. That library is for use with Google Maps API and some of my tests require that Google Maps API as a dependency. To load the Google Maps API script, you need an API key. Now, my code is located on my Github and I really wouldn't like to have my API key as part of the code.

Is there any Node module that would be able to inject an environment variable into my tests when running Grunt? Are there any ENV variable equivalents in Node.js?

This is an example of a need for a JS ENV variable solution. There are other ways around the problem, but I am specifically looking for this type of a solution.

Edit: most importantly, how do I have these ENV variables auto load into my program when I run tests using grunt

Thank you!

2
  • Well, you can read environment variables with node.js - only a webpage loaded in a browser is not allowed too access the clients variables. However, I wouldn't use an env variable for my secret api keys :-) Commented Jan 23, 2014 at 22:32
  • 1
    possible duplicate of How to store Node.js deployment settings/configuration files? - and include them in your gitignore file. Commented Jan 23, 2014 at 22:37

1 Answer 1

8

Yes, you can access the environment variables in a Node script via the process object.

console.log(process.env.secret_key);

Storing your API keys in environment variables is much better than doing so in your repo.

Sign up to request clarification or add additional context in comments.

1 Comment

Any time you're running a node script, this will be available.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.