How can remove console.log in the production build of a React application created using create-react-app?

后端 未结 3 1583
难免孤独
难免孤独 2021-02-14 03:46

How can remove console.log in the production build of a React application created using create-react-app CRA?

3条回答
  •  醉梦人生
    2021-02-14 04:10

    The simple solution to the question is to help others who are facing the same issue.

    Ref: https://stackoverflow.com/a/41041580/3574669

    The suggestion in the reference, it needs to do a change in the file "webpack.config.js". The create-react-app uses the webpack and the config file internally but it is not possible to add webpack.config.js in my application root for applying the change. This would need to leave the create-react-app setup and build own setup for webpack and configuration. It does not find easy for me after exploring a lot and writing sample code.

    Since I am very much satisfied with create-react-app so also don't want to keep aside its benefits.

    Finally, I did a simple change in the node_modules/react-scripts/config/webpack.config.js by adding a line drop_console: true, as mentioned in the reference. The suggested code in the reference is as below,

    module.exports = {
      optimization: {
        minimizer: [
          new TerserPlugin({
            sourceMap: true, // Must be set to true if using source-maps in production
            terserOptions: {
              compress: {
                drop_console: true, // << this needs only to remove console.log //
              },
            },
          }),
        ],
      },
    };
    

    This works fine to me and there is no console log in my production build application by the simple change.

    I am using "react-scripts": "3.0.1",

    Note: This new line will be cleaned whenever you reinstall "react-scripts" later. So it would need to again do the same change in such an event.

    IMPORTANT: Don't use this approach if using CI/CD

提交回复
热议问题