没有受限的全局变量


168

我正在使用React和Redux开发一个Web应用程序,当我开始我的项目时,我得到了这个:

Line 13:  Unexpected use of 'location'  no-restricted-globals

Search for the keywords to learn more about each error.

我搜索了很多有关如何解决它的方法,但是找不到任何答案对我有帮助,因此我转向了堆栈溢出。

有人知道如何解决此错误吗?感谢您能获得的所有帮助。

Answers:


406

尝试window在之前添加location(即window.location)。


15
这应该是公认的答案。ESLint正确地告知您您正在编写弱代码。其他两个答案(包括已接受的答案)不能解决问题,而只能禁止ESLint告诉您。
eMike Wallace

确实,解决此问题的正确方法是在window.location之前为location添加前缀。出于某种原因,CRA团队目前认为location“全球浏览器混乱”。我想说的是,如果您使用的是CRA,并且不知道位置对象,那么您就处于无人区。也许他们只是想让阅读的URL烦人,这是可以理解的...
Devin G Rhode

我创建了一个github问题,专门询问location对象是否真的是一个令人困惑的全局浏览器,因此window.到处都需要前缀... github.com/facebook/create-react-app/issues/7733
Devin G Rhode

5

这是一个简单的方法,也许不是最好的解决方案,但是它可以工作。

在出现错误的行上方,粘贴以下代码:

// eslint-disable-next-line no-restricted-globals


5
将服务人员作为Blob内联时,是一个create-react-app项目的好解决方案。已投票。
adc

7
这不能解决问题,只是隐藏警告。
Vladimir Nul

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.