【问题标题】:Linters, forbid the use of jquerylinter,禁止使用jquery
【发布时间】:2016-02-13 14:54:58
【问题描述】:

我们正在开发一个带有 webviews 的安卓应用。我们将为这个 webviews 提供第三方开发人员,但我们希望禁止他们使用某些库来强制使用我们自己的。在这种情况下,我们希望禁止使用 jQuery,以及其他禁止事项。理想情况下,此禁令应集成到 linter 工具中。我对 linter 了解不多,所以如果你能指导我一点关于使用什么 linter 工具或任何其他类型的帮助,将会非常有帮助。

我不知道最好的方法,也许正在寻找一个正则表达式来找到 src="*jquery*" 并将这个搜索集成到一个 jshint 补丁中?

谢谢!

【问题讨论】:

    标签: jquery webview jslint jshint


    【解决方案1】:

    jQuery 在其源代码中定义了两个全局变量。您可以使用jsHint rule undef 来禁止在代码中使用未声明的变量。这意味着如果他们在代码中使用 $ 或 jQuery,那么 jsHint linting 将失败。为了让您自己能够使用全局变量,您需要使用globals rule 为自己提供允许的全局变量的白名单。

    【讨论】:

    • 当然,除非他们在代码中使用了 /* global $, jQuery */ linter 覆盖注释,这是无法从 linter 配置中阻止的。
    • @LJHarb 是的,你是绝对正确的。但是,您所拥有的是第三方开发人员故意违反您制定的规则。我并不是说这不会发生,但是如果我聘请了第三方开发人员并且我明确对他们说,不要使用 jQuery,我什至制定了规则来阻止它,然后他们仍然使用 jQuery。那么这将是他们的一个严重的判断错误。他们不仅会失去我未来的生意,而且肯定会给他们故意违反合同条款带来麻烦,我有证据!
    • @ZacBraddy 我爱你。很明显他们可以通过禁令,但我们会在最后监督代码,所以最好尽快通知。使用我们自己的库是因为 jquery 非常专注于跨浏览器,但对于 android webview,我们不需要它。还有很多人使用 jquery 来使用他们的选择器,但实际上他们已经在原生 javascript 中了。
    猜你喜欢
    • 2018-04-28
    • 1970-01-01
    • 2021-12-01
    • 1970-01-01
    • 2015-02-25
    • 2018-03-07
    • 2016-12-26
    • 2023-02-01
    • 2013-03-14
    相关资源
    最近更新 更多