Пользовательский преобразователь Babel в методе DefinePlugin - PullRequest
0 голосов
/ 17 июня 2020

У меня есть приложение для реагирования, которое имеет 2 вида сборок со сборкой по умолчанию. ниже мой код.

1. По стоимости

let currency = 'USD'; // default build.

if (process.env.build === 1) {
  currency = 'EUR';
} else if (process.env.build === 2) {
  currency = 'AUD';
}

// build will have
// let currency = 'USD'; default build
// let currency = 'EUR'; build 1
// let currency = 'AUD'; build 2

1. Подход по функциям

let currency = () => ''; // default build.

if (process.env.build === 1) {
  currency = () => 'EUR';
} else if (process.env.build === 2) {
  currency = () => 'AUD';
}

// build will have
// let currency = (() => 'USD')()); default build
// let currency = (() => 'EUR'()); build 1
// let currency = (() => 'AUD'()); build 2

Может ли это быть функция переключения с использованием трансформатора babel или плагина для преобразования ниже.

const currency = myAppSwitch({
  // value
  BUILD_1: () => 'EUR',
  BUILD_2: () => 'AUD',
  DEFAULT: 'USD',
});

// const currency = (() => 'USD')()); default build
// const currency = (() => 'EUR'()); build 1
// const currency = (() => 'AUD'()); build 2
...