Babel 插件 transform-remove-console 无法与 Vue CLI 4 @vue/cli-plugin-babel/preset 一起使用?

ux.*_*eer 5 javascript webpack vue.js babeljs vue-cli

通过 Vue CLI 4 创建的 VueJS 项目,您可以在以下位置使用这个方便的预设配置 Babel babel.config.js

module.exports = {
  presets: [
    '@vue/cli-plugin-babel/preset',
  ],
};
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用babel-plugin-transform-remove-consoleconsole.*从构建的 JS 文件中删除。

通过以下方式将插件安装为开发依赖项:npm i -D babel-plugin-transform-remove-console

然后修改babel.config.js

module.exports = (api) => {
  var env = api.cache(() => process.env.NODE_ENV);
  var plugins = [];
  // Change to 'production' when configs are working
  if (env === 'development') {
    plugins.push(['transform-remove-console', { exclude: ['error', 'warn'] }]);
  }
  return {
    presets: ['@vue/cli-plugin-babel/preset'],
    // plugins,
    // Doesn't work even when always on?
    plugins: ['transform-remove-console'],
  };
};
Run Code Online (Sandbox Code Playgroud)

这应该通过运行来工作npm run serve -- --reset-cache,并且我也尝试在不同的环境中多次构建应用程序,但控制台日志记录仍然显示在浏览器的控制台中?

Vue CLI 的预设是否以某种方式将其混合在一起,导致无法通过此配置文件设置插件?

更新:向 Vue CLI 存储库创建了错误报告,并在创建最小错误复制存储库时,我发现该插件正在使用一个新项目

但是,我不知道是什么原因造成的,因为我已将此应用程序与最新的 CLI 引导模板同步,并且还尝试通过“npm cache clean --force”来破坏 NPM 缓存。

ux.*_*eer 1

看来 @Zydnar 对 nukingnode_modules文件夹的建议可能有所帮助,但是,我还发现我最近的 NPM 软件包升级已被中断并且尚未完全成功。有一些 Vue CLI 插件有不同的版本。

在核对node_modules并升级所有软件包后,这个 Babel 插件开始工作!