【发布时间】:2020-04-17 12:46:36
【问题描述】:
我一直在从事一个个人 Vue 项目,其中包括一个简单的 Google 地图。
在实现Maps JS API 时,我烦人地不断遇到 ESLint 错误'map' is assigned a value but never used。我明白为什么会出现此错误 - Map() 构造函数返回一个我不需要做任何事情的值:
const map = new google.maps.Map(el, options)
所以我最终只是实现了this Stack Overflow answer 中描述的解决方案来绕过 lint 规则。
如果你使用的是一个设计不佳的库,其中类构造函数有副作用(它不应该),并且你不需要对类的返回值做任何事情,我会禁用它这些行的特定 eslint 规则。
但是,我的问题是,为什么 Google 的 Map() 构造函数是这样设计的?我很难相信这个库会“设计得很糟糕”,但看不出这个实现的原因。
【问题讨论】:
-
a) 老旧和向后兼容 b) 易用性
-
这个问题似乎跑题了——我们只能猜测原因
-
感谢您的反馈。抱歉,我应该澄清我问的原因:当我遇到需要抑制规则的 lint 错误时,尤其是在使用像 G Maps 这样广泛实施的库时,我通常认为我正在做一些不好的事情。所以我想获得洞察力来验证我的解决方案。我认为您不必构建 API 就能够提供关于它为何以某种方式设计的答案。
-
好吧,要么你做错了什么(这里:通过编写什么都不做的代码,并且可以被删除),或者如果代码做了一些有用的事情,那么是库的设计者选择了不好的做法。
标签: javascript google-maps eslint