node.js之Heroku、NodeJs 和 React 问题 : SCRIPT5007: Unable to get property 'apply' of undefined or null reference

zhenyulu 阅读:69 2025-05-04 20:05:19 评论:0

我想,我有一个关于 polyfill 的奇怪问题。我为我的应用程序使用了 MERN 堆栈,并推送到 Heroku。出于某种原因,在我的 Chrome 计算机上,我可以查看该网站,但是,在其他计算机上,我得到一个空白页面并且控制台中出现错误:

'SCRIPT5007: Unable to get property 'apply' of undefined or null reference' 

它指向这段代码,并且显然链接到 Redux:

return funcs.reduce(function (a, b) { 
    return function () { 
      return a(b.apply(undefined, arguments)); 
    }; 
  }); 
} 

我将 babel-polyfill 导入到我的 App.js 文件中,甚至添加了 <script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=default,es6"></script></script>index.html但仍然没有运气。可以做些什么来解决这个问题?

UPD:看来是 Redux Dev Tools 的原因。我需要以某种方式在生产中禁用它。

请您参考如下方法:

显然,这个问题与我使用的 Redux DevTools 有关。所以,在 redux store.js 中我不得不改变这个:

const store = createStore( 
  rootReducer, 
  initialState, 
  compose( 
    applyMiddleware(...middleware), 
    window._REDUX_DEVTOOLS_EXTENSION_ ? window.__REDUX_DEVTOOLS_EXTENSION__() // Error is this line 
  ) 
); 

为此:

const store = createStore( 
  rootReducer, 
  initialState, 
  compose( 
    applyMiddleware(...middleware), 
    window.__REDUX_DEVTOOLS_EXTENSION__ ? window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__() : f => f 
  ) 
); 

一切正常。


标签:NodeJs
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号