2016-03-27 16 views
0

Projemde bir dizide bazı bilgileri kodlarım. 0 sayısı bir şeyi temsil ediyor ve 134 başka bir sayı ve daha fazlası. Birkaç farklı modül, sayıları kullanır. Okunabilirlik konusunda yardımcı olmak için bunlardan bazılarını modüllerin başında tanımladım, ancak bu gelecekte değişmek için süper can sıkıcı olacaktır.javascript sabit bir genel tanımla

- constants - 

    module.exports = function(){ 
     global var Bulding = 0; 
     global var Tree = 1; 
     ...} 

- some module - 

require('./constants')(); 
<some code...>  
if(arr[i] == Tree){ 
    <do things> 
} 

bu mümkün mü:

Böyle bir şey var mı istiyorsunuz? veya daha iyisi bunu yapmanın bir javascript/nodejs yolu var mı?

cevap

3

Sen özelliklere sahip normal bir nesne olarak o dışa olmalıdır:

module.exports = { 
    building: 0, 
    tree: 1, 
    ... 
}; 

// Elsewhere: 

var constants = require('./constants'); 
constants.tree; 

Ek koruma için, değiştirilmesini gelen sabitleri önlemek için Object.freeze() kullanabilirsiniz.