Javascript 是否删除生产生成中的控制台日志语句?
我有一个基本的react应用程序(使用创建react应用程序创建)Javascript 是否删除生产生成中的控制台日志语句?,javascript,reactjs,console,babeljs,console.log,Javascript,Reactjs,Console,Babeljs,Console.log,我有一个基本的react应用程序(使用创建react应用程序创建) 我已经通过了一些相关链接,如巴贝尔插件安装 npm i babel插件转换删除控制台--保存 我已经将上面的配置包含到babel.rc文件中,但仍然不能解决我的问题。我能够看到生产构建中的日志。请告诉我哪里出了问题 您可以在src/App.js的应用程序根组件中尝试以下操作: if (process.env.REACT_APP_STAGE === 'PROD') console.log = function no_cons
我已经通过了一些相关链接,如巴贝尔插件安装 npm i babel插件转换删除控制台--保存
我已经将上面的配置包含到babel.rc文件中,但仍然不能解决我的问题。我能够看到生产构建中的日志。请告诉我哪里出了问题 您可以在
src/App.js
的应用程序根组件中尝试以下操作:
if (process.env.REACT_APP_STAGE === 'PROD')
console.log = function no_console() {};
在
返回之前
您可以尝试使用这些包覆盖配置:
注意:根据的文件,这将打破CRA提供的“保证”。所以你在使用前要小心
npm i -D customize-cra react-app-rewired babel-plugin-transform-remove-console
修改package.json,将react脚本
替换为react应用程序重新布线
,除了拒绝
。完成后,脚本应如下所示:
"scripts": {
"start": "react-app-rewired start",
"build": "react-app-rewired build",
"test": "react-app-rewired test",
"eject": "react-scripts eject"
}
然后创建一个文件:
touch config-overrides.js
最后,在运行npm run build
之后,将删除所有console.log
另外,关于这个类似的问题,我有另一个答案,您也可以查看其他答案。如果您使用create react应用程序,它可能不会注意您的自定义babel配置,因为它有自己的所有配置。您可能需要弹出应用程序才能使其正常工作。请查看并@Dr_Derp,寻找一种无需弹出应用程序即可完成的方法。无需弹出:
touch config-overrides.js
// config-overrides.js
const { override, addBabelPlugins } = require('customize-cra')
module.exports = override(
addBabelPlugins(
"transform-remove-console"
)
)