Vue过滤node_modules包里的console

如题
项目是vue2 webpack4
打包的时候需要过滤掉node_modules包里的console
试过 ”babel-plugin-transform-remove-console“ 这个插件 但这个插件并不能过滤掉node_modules包里的 只能过滤掉项目代码里的console
怎么破 有没有插件或者配置可以解决

用webpack的IgnorePlugin插件实现:

// webpack.config.js

const webpack = require('webpack')

module.exports = {
  // ...
  plugins: [
    new webpack.IgnorePlugin({
      resourceRegExp: /^\.\/log$/,
      contextRegExp: /moment$/
    })
  ]
}

可以忽略moment包中的log模块,

【以下回答由 GPT 生成】

从描述可以看出,该问题是如何在Vue项目中过滤掉node_modules包里的console输出。

目前已尝试过babel插件,但只能过滤项目代码,无法过滤node_modules包的console输出。以下是一种可行的解决方案。

  1. 在Vue项目根目录下的webpack配置文件中,找到rules部分(或者module部分,具体名称可能有所不同)。

  2. 在rules数组中找到处理JavaScript的规则配置,通常是用babel-loader来处理。

  3. 在该规则配置中添加一条exclude或include,用于排除或包含node_modules文件夹。

    javascript { test: /\.js$/, exclude: /node_modules/, use: 'babel-loader' }

  4. 安装babel插件babel-plugin-transform-remove-console

    plaintext npm install babel-plugin-transform-remove-console --save-dev

  5. 在Vue项目根目录中的.babelrc文件中添加相关配置。

    { "plugins": [ "transform-remove-console" ] }

    这将使得项目中的console输出被过滤掉。

注意:以上配置只会过滤掉项目中的console输出,而不会过滤掉node_modules包中的console输出。如果需要过滤掉node_modules包中的console输出,可以使用其他方法或工具对node_modules包进行处理。但是值得注意的是,修改第三方库的源代码可能会带来一些问题,建议谨慎操作。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^