linter,禁止使用jquery
Posted
技术标签:
【中文标题】linter,禁止使用jquery【英文标题】:Linters, forbid the use of jquery 【发布时间】:2016-02-13 14:54:58 【问题描述】:我们正在开发一个带有 webviews 的安卓应用。我们将为这个 webviews 提供第三方开发人员,但我们希望禁止他们使用某些库来强制使用我们自己的。在这种情况下,我们希望禁止使用 jQuery,以及其他禁止事项。理想情况下,此禁令应集成到 linter 工具中。我对 linter 了解不多,所以如果你能指导我一点关于使用什么 linter 工具或任何其他类型的帮助,将会非常有帮助。
我不知道最好的方法,也许正在寻找一个正则表达式来找到 src="*jquery*"
并将这个搜索集成到一个 jshint 补丁中?
谢谢!
【问题讨论】:
【参考方案1】:jQuery 在其源代码中定义了两个全局变量。您可以使用jsHint rule undef 来禁止在代码中使用未声明的变量。这意味着如果他们在代码中使用 $ 或 jQuery,那么 jsHint linting 将失败。为了让您自己能够使用全局变量,您需要使用globals rule 为自己提供允许的全局变量的白名单。
【讨论】:
当然,除非他们在代码中使用了/* global $, jQuery */
linter 覆盖注释,这是无法从 linter 配置中阻止的。
@LJHarb 是的,你是绝对正确的。但是,您所拥有的是第三方开发人员故意违反您制定的规则。我并不是说这不会发生,但是如果我聘请了第三方开发人员并且我明确对他们说,不要使用 jQuery,我什至制定了规则来阻止它,然后他们仍然使用 jQuery。那么这将是他们的一个严重的判断错误。他们不仅会失去我未来的生意,而且肯定会给他们故意违反合同条款带来麻烦,我有证据!
@ZacBraddy 我爱你。很明显他们可以通过禁令,但我们会在最后监督代码,所以最好尽快通知。使用我们自己的库是因为 jquery 非常专注于跨浏览器,但对于 android webview,我们不需要它。还有很多人使用 jquery 来使用他们的选择器,但实际上他们已经在原生 javascript 中了。以上是关于linter,禁止使用jquery的主要内容,如果未能解决你的问题,请参考以下文章
VSCode Linter ES6 ES7 Babel linter
如何在 Jupyter Notebooks 中使用 Pylint 或其他 linter?