Резервный разработчик спрашивает об интерфейсе.Как объявить переменные профиля и интегрировать их в файлы JS? Как исключить/включить функцию для сборки?
У меня есть две функции, которые совершенно разные. Один из них - для производства, другой - для местного развития. Например, когда я нахожусь в режиме развития, ситуация выглядит следующим образом:
/*
function f() {
// production logic
}
*/
function f() {
// development logic
}
Как вы можете видеть, я всегда один комментарий из функций. Прежде чем создавать сборку для производства, я должен удалить комментарии для производственной функции и добавить их в разработку.
Я действительно не хочу делать заявление if
, где я проведу некоторую переменную (если значение равно "DEV"
, тогда ... еще ...). Функции слишком велики и содержат много несмежных частей.
Я много гулял, но ничего не нашел. Что-то вроде? Что-то вроде профилей с их переменными, которые могут быть интегрированы в JS-файлы? Или пометка функции с комментарием, который исключает/включает функцию из/в сборке, так как это possible with HTML.
Проект собирается Grunt.
JS не «построен», так что не скомпилированы флаги. Если вы используете grunt, то, вероятно, не составит труда сделать скрипт grunt, который делает эквивалент. Кстати, обычно единственной разницей между dev и prod будут консольные журналы. Мне любопытно, почему у вас есть целые функции, которые отличаются друг от друга. – dlsso
@dlsso. Этот модуль является лишь небольшой частью большого проекта, производственная версия функции управляет данными, которые появляются во время выполнения, для версии разработки, я должен создавать эти данные искусственно, чтобы увидеть полную картину. – Andrew
@dlsso, Буду признателен, если вы предложите способ, которым я должен следовать, чтобы достичь этой цели. Может ли Grunt изменять файлы JS во время их слияния/угашения? – Andrew