2013-08-19 3 views
0

У меня есть несколько переменных, таких как ключ приложения, который мне нужен для доступа ко всем файлам. Мне нужно иметь что-то вроде инициализаторов, которые инициализируют все мои константы в одном месте и должны иметь доступ к приложение? любые предложения о том, как реализовать эти инициализаторы в узле. я не хочу требовать файлКак получить глобальную переменную во всех файлах

ответ

2

Идеальный способ сделать, предотвращая случайное повреждение глобальных конфигураций,

applicationConstants.js

module.exports = { app_host : "example.com" , app_port:8080} 
Object.freeze(module.exports); // ensure protection against modification 

app.js

var appConstants = require('path_to_applicationConstants.js'); 
Object.defineProperty(global, "appConstants", { 
    enumerable: false, 
    configurable: false, 
    writable: false, 
    value: appConstants 
}); 
+1

При замораживании экспорта модуля вы также можете рекурсивно выполнять его для сложных объектов с помощью модуля глубокой заморозки: https://github.com/substack/deep-freeze – Slappy

-1

Посмотрите на этот код. она очистит картину в уме:

public class MyConstants { 

    public static final String PROFILE_ID = "profile_id"; 

    public static final String EMAIL_ID = "email_id"; 

} 

И если вы хотите, чтобы некоторые переменные хранятся в вашем App для времени жизни, то вы должны использовать общие Предпочтения App.

+1

это java? я спрашивал, как реализовать в узле – suman

+0

Извините, моя ошибка Это решение предназначено для Java. –

Смежные вопросы