问题很简单,
如何在不生产时添加react或redux中间件(如Logger)。
我不希望用户能够在控制台选项卡中看到日志信息。
答案 0 :(得分:2)
假设您有2个中间件logger
和thunk
,并且当您不在logger
时希望添加production
,则可以使用以下代码执行此操作:
const middleware = [thunk];
if (process.env.NODE_ENV !== 'production') {
middleware.push(logger);
}
您可以使用以下代码将NODE_ENV
设置为production
:
set NODE_ENV=production
或使用PowerShell:
$env:NODE_ENV="production"
设置在package.json
(您需要安装cross-env,更多信息,请点击此处:How to set Environment variables from within package.json [Node.js] ):
"scripts": {
"build": "cross-env NODE_ENV=production webpack -p"
}
答案 1 :(得分:0)
没有Redux方法可以做到这一点。由您来实现此逻辑。您可以使用window.location.origin
来了解应用运行的位置。如果它在localhost或您的暂存环境中运行,则不应添加记录器。当然,如果您在服务器端渲染,则必须检查window
是否可用。如果没有,我想可以添加记录器。看看它是如何在redux-devtools https://github.com/zalmoxisus/redux-devtools-extension/blob/master/npm-package/developmentOnly.js#L7