2016-05-06 2 views
2

Я работаю над проектом js + php и хочу иметь класс констант, где будут храниться самые общие значения для всех частей кода;Как создать объект констант js с «зависимыми/относительными» значениями?

Проблема в том, что эти значения констант очень близки друг к другу. Например, представьте себе, что у меня есть каталоги источников и тестов. Оба они хранятся так:

src/ 
    main/ 
    test/ 

Итак, как я сказал, что хочу иметь константы объекта в JavaScript, которые имеют следующую структуру:

const CONSTANTS = { 
    CODE: { 
     CWD: 'src/', 
     SOURCES: { 
      DIRECTORY: '<%= CODE.CWD %>/src', 
     }, 
     TESTS: { 
      DIRECTORY: '<%= CODE.CWD %>/test', 
     } 
    } 
} 

exports.CONSTANTS = SomeLibraryOrSmthElse.process(CONSTANTS); 

Как вы заметили, Grunt работает в том же путь.

Как это сделать? Какую библиотеку или исходный код можно использовать повторно? Я не хочу изобретать скорость! Благодаря!

+0

Ответ на ваш вопрос: http://stackoverflow.com/questions/37044974/how-to-implement-properties-preprocessing-before-execution-like-it-is-done-in-gr/37051768 # 37051768 – theaccordance

ответ

0

Я бы просто извлек общее значение в качестве переменной и повторно использовать его. Следующий код использует литерал шаблона шаблона ES2015, если он доступен, потому что вы уже положили const.

const CWD = 'src/'; 
const CONSTANTS = { 
    CODE: { 
     CWD, 
     SOURCES: { 
      DIRECTORY: `${CWD}/src`, 
     }, 
     TESTS: { 
      DIRECTORY: `${CWD}/test`, 
     } 
    } 
}; 
Смежные вопросы