reactjs - 使用 WebPack/Babel 在生产 React JS 中删除 console.log

标签 reactjs webpack babeljs

我想在开发人员版本中保留 console.log,但在生产版本中我希望将它们删除。

babel-plugin-transform-remove-console

我不记得我是否将其安装为 --save 或 --save-dev (并且不太确定区别)。我也不知道如何检查它是如何安装的,但它在我的 node_modules 目录中为 babel-plugin-transform-remove-console .

我是否使用npm run devnpm run build为了构建我的项目,我仍然看到 console.log 语句。我本以为 npm run build命令删除 console.log 文件。

我的 .babelrc 文件如下所示:

{
  "presets" : ["env", "stage-0", "react"],
  "env" : {
    "production": {
      "plugins": ["transform-remove-console"]
    }
  }
}

我的 package.json 的相关部分如下所示:

  "scripts": {
    "dev": "webpack -d --watch",
    "build": "webpack -p"
  },
  ...
  "dependencies": {
    ...
    "babel-plugin-transform-remove-console": "^6.9.2",
    ...
  }

为什么是npm run build不为我删除 console.log 语句吗?

最佳答案

-p 是 Webpack 本身的标志。巴贝尔对此一无所知。如果您希望 Webpack 配置根据它切换行为,您需要自己执行此操作。

// webpack.config.js
module.exports = function(env) {
  return {
    // ...
    module: {
      rules: [{
        loader: "babel-loader",
        options: {
          forceEnv: env.production ? "production" : "development"
        }
      }],
    },
  },
};

关于reactjs - 使用 WebPack/Babel 在生产 React JS 中删除 console.log,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50595698/

相关文章:

reactjs - 使用 typescript 的 create-react-app 不起作用

webpack - 如何在DevTools中查看webpack生成的文件

gulp - 如何获取 gulp+babel+browserify+uglify 的源映射

javascript - Babel 安装 - src 不存在

reactjs - 开 Jest ,没有预处理我的 JSX

node.js - Action 必须是普通对象。使用自定义中间件进行异步操作。如何解决这个问题

javascript - 如何使用 React createElement 添加点击事件

asp.net-mvc - 如何将 NPM 包与现有 C#/MVC 项目一起使用以在 Azure 上进行 git 部署?

javascript - 为什么开发模式下的 ReactJS 包大小比生产模式小?

javascript - browserify/webpackify 目录中的所有文件