Конфигурации кэша Babel: Разница между методами cache.using и cache.invalidate? - PullRequest
1 голос
/ 14 февраля 2020

Я пытаюсь понять, какой метод кэширования больше подходит для моих нужд, так как мне нужно применить плагин transform-remove-console при сборке в среде production.

Babel> Config Файловая документация нечеткая по поводу различий между using и invalidate методами?

api.cache.using (() => process.env.NODE_ENV) - Кэш на основе значение NODE_ENV. Каждый раз, когда обратный вызов using возвращает значение, отличное от ожидаемого, общая функция конфигурации будет вызываться снова и в кэш будет добавлена ​​новая запись .

api.cache .invalidate (() => process.env.NODE_ENV) - Кэшировать на основе значения NODE_ENV. Каждый раз, когда обратный вызов using возвращает значение, отличное от ожидаемого, общая функция конфигурации будет вызываться снова , и все записи в кэше будут заменены на результат .

Вот мой конфиг:

module.exports = (api) => {
  // Is this better?
  var isProd = api.cache.invalidate(() => process.env.NODE_ENV === 'production');
  // Or this one perhaps?
  // var isProd = api.cache.using(() => process.env.NODE_ENV === 'production');
  var plugins = [];
  if (isProd) {
    plugins.push(['transform-remove-console', { exclude: ['error', 'warn', 'info'] }]);
  }
  return {
    presets: ['@vue/cli-plugin-babel/preset'],
    plugins,
  };
};
...