Umakant Mane
Umakant Mane

Reputation: 1021

how to define user defined constant globally in nodejs

  1. Here, my question is, we use define function in php to define the contant globally but how can i achive same thing in nodejs

    in php: define(nameofthecontant, value); in nodejs how to?

      var dataBaseInfo = result.databaseInfo; 
        // global.DB_HOST = dataBaseInfo['DB_HOST'];             
         for(var keys in dataBaseInfo) {
             global.keys = dataBaseInfo[keys];  
    
         }  
    

    i have data in result.databaseInfo from database xml file and m trying to create global contant using for loop, its not working

Upvotes: 1

Views: 220

Answers (2)

jfriend00
jfriend00

Reputation: 707218

Change your code from this:

global.keys = dataBaseInfo[keys];  

to this:

global[keys] = dataBaseInfo[keys];  

When you want to access or assign a property and the property name is in a variable, you use the obj[variableName] syntax.

You could also use Object.assign here if you just want to copy a bunch of properties from one object to another:

Object.assign(global, databaseInfo);

As others have said, it is usually frowned upon to use globals in this way in node.js. Instead, you would typically expose these constants in a module and then just require in the module in any other module that wants to access the constants. This makes your code more modular and makes each module more self-contained.

Upvotes: 1

Stavros Zavrakas
Stavros Zavrakas

Reputation: 3053

This is how you can define a variable in the global namespace:

global.nameofthecontant = value

This is something that you don't want to do in node.js though. Your question possibly is a duplicate of this question: node.js global variables?

Upvotes: 2

Related Questions