首页 > 解决方案 > 如何禁用加载 React Devtools 后端脚本

问题描述

在生产中 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;
        }
    }
};

有任何想法吗?

标签: reactjswebpackserver-side-rendering

解决方案


不确定这是否是您正在寻找的答案,但它似乎是由于安装了扩展程序而被加载的。

当我启动一个隐身窗口时,它没有被加载。


推荐阅读