2016-10-10 71 views
0
  1. 在這裏,我的問題是,我們在PHP中使用定義功能在全球範圍內定義 含量的不同,但我怎麼能在的NodeJS如何定義的NodeJS中定義常量全球用戶

    在PHP

    achive同樣的事情: 定義(nameofthecontant,value); 在nodejs中如何?

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

    我從數據庫中的XML文件中的數據result.databaseInfo和m試圖建立全球含量的不同使用循環,它不工作

+0

可能重複的[node.js全局變量?](http://stackoverflow.com/questions/5447771/node-js-global-variables) –

+0

另外,它應該可能是'GLOBAL.keys = GLOBAL.keys || [];然後'GLOBAL.keys.push(dataBaseInfo [keys])' – tmslnz

回答

2

這是怎麼了,你可以在全局定義一個變量命名空間:

global.nameofthecontant = value 

這東西,你不希望在node.js中做雖然。你的問題可能是這個問題的一個副本:node.js global variables?

+0

正是我在找什麼,謝謝 –

+0

@UmakantMane你能接受答案嗎? :) –

+0

是的,還有一個疑問我有,只是我將編輯問題檢查它 –

1

從此改變你的代碼:

global.keys = dataBaseInfo[keys]; 

這樣:

global[keys] = dataBaseInfo[keys]; 

當你想訪問或分配財產和財產名稱在變量中,則使用obj[variableName]語法。

您也使用這裏Object.assign如果你只想一堆屬性從一個對象複製到另一個:

Object.assign(global, databaseInfo); 

正如其他人所說,它通常在使用皺起了眉頭在node.js中以這種方式使用全局變量。相反,您通常會將這些常量展示在模塊中,然後只需要在模塊中的任何其他需要訪問常量的模塊中使用。這使您的代碼更加模塊化,並使每個模塊更加獨立。

+0

它的工作,但不是我的例外,我想直接使用DB_HOST像常量,其工作在單一分配解釋:global.DB_HOST = localhost ,一旦你分配了這種方式,那麼我可以使用它direclty,我需要在循環中聲明常量。可能嗎? –

+0

@UmakantMane - 你爲node.js開發走錯了路。全球化是邪惡的。這不是你應該如何在node.js中設計代碼的方式。創建一個包含全局變量的模塊,需要這個常量並將它們引用爲'someModule.someConstant'。或者,使用析構賦值將它們從模塊中分配給模塊中的局部變量,然後您可以像使用全局變量一樣使用它們,但它們實際上並不是邪惡的全局變量。 – jfriend00

+0

好的,謝謝 –