问题很简单,
我如何在不生产时添加 react 或 redux 中间件(如 Logger)。
我不希望用户能够在控制台选项卡中看到日志信息。
问题很简单,
我如何在不生产时添加 react 或 redux 中间件(如 Logger)。
我不希望用户能够在控制台选项卡中看到日志信息。
假设你有 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,更多信息在这里:如何从 package.json [Node.js] 中设置环境变量):
"scripts": {
"build": "cross-env NODE_ENV=production webpack -p"
}
没有 Redux 方法可以做到这一点。由你来实现这个逻辑。您可以使用window.location.origin
来了解您的应用程序在哪里运行。如果它在 localhost 或您的登台环境上运行,那么您不应该添加记录器。当然,如果您在服务器端渲染,则必须检查是否window
可用。如果不是,我想添加记录器是可以的。查看它是如何在 redux-devtools https://github.com/zalmoxisus/redux-devtools-extension/blob/master/npm-package/developmentOnly.js#L7中完成的