4

I have an AngularJS project that uses webpack for bundling, serving, and building - no task runner such as bower or gulp is used. I'd like to be able to set environment variables for things such as the REST API endpoints that I'll be consuming in local versus production, and then access those within my actual AngularJS project files, particularly inside controllers. What's the best way to define and pass these env variables into the project?

3

1 Answer 1

7

The solution was to use Webpack's definePlugin to define free/global variables:

webpack.github.io/docs/list-of-plugins.html#defineplugin

new webpack.DefinePlugin({
    VERSION: JSON.stringify("5fa3b9"),
    BROWSER_SUPPORTS_HTML5: true,
    TWO: "1+1",
    "typeof window": JSON.stringify("object")
})
Sign up to request clarification or add additional context in comments.

3 Comments

How do you use this inside your code? It's just global using likewindow.VERSION is in the browser?
They are used like if were macros in C, webpack replaces every occurrence with the value
@dvdvck Actually gave the missing second part of the accepted answer. Cause I searched for the globals and there are none in the runtime browser client. thx.

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.