【发布时间】:2021-02-26 10:05:02
【问题描述】:
在生产中 react_devtools_backend.js 无论如何都会加载,它会减慢我的网站在生产中的速度。如何禁用加载此反应开发工具? 我正在使用 react 16.8、reactSSR、webpack 4.29、apollo
我已经用过了
new webpack.DefinePlugin({
'__REACT_DEVTOOLS_GLOBAL_HOOK__': '({ isDisabled: true })'
}),
和
if (typeof window.__REACT_DEVTOOLS_GLOBAL_HOOK__ === "object") {
for (let [key, value] of Object.entries(window.__REACT_DEVTOOLS_GLOBAL_HOOK__)) {
window.__REACT_DEVTOOLS_GLOBAL_HOOK__[key] = typeof value == "function" ? ()=>{} : null;
}
}
和
<script>
if (typeof window.__REACT_DEVTOOLS_GLOBAL_HOOK__ === 'object') {
__REACT_DEVTOOLS_GLOBAL_HOOK__.inject = function() {};
}
</script>
还有这个
const disableReactDevTools = (): void => {
const noop = (): void => undefined;
const DEV_TOOLS = (window as any).__REACT_DEVTOOLS_GLOBAL_HOOK__;
if (typeof DEV_TOOLS === 'object') {
for (const [key, value] of Object.entries(DEV_TOOLS)) {
DEV_TOOLS[key] = typeof value === 'function' ? noop : null;
}
}
};
有什么想法吗?
【问题讨论】:
-
process.env.NODE_ENV !== 'production'
-
在所有版本中都不起作用。甚至在生产中。
标签: reactjs webpack server-side-rendering