首页 > 解决方案 > Babel 缓存配置:cache.using 和 cache.invalidate 方法之间的区别?

问题描述

我试图了解哪种缓存方法更适合我的需求,因为我需要在环境中transform-remove-console构建时应用插件。production

Babel > Config Files 文档using对方法和方法之间的区别含糊不清invalidate

api.cache.using(() => process.env.NODE_ENV) - 基于 NODE_ENV 的值进行缓存。任何时候 using 回调返回的值不是预期的值,都会再次调用整个配置函数,并将一个新条目添加到缓存中。

api.cache.invalidate(() => process.env.NODE_ENV) - 基于 NODE_ENV 的值进行缓存。任何时候 using 回调返回的值不是预期的值,都会再次调用整个配置函数,并且缓存中的所有条目都将替换为 result

这是我的配置:

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,
  };
};

标签: javascriptcachingbabeljsconsole.log

解决方案


推荐阅读