JShit 警告:jQuery 插件在 AMD 中标记不正确 'defined but never used'

JShint warning: jQuery plugin marked incorrectly 'defined but never used' in AMD

JSHint 在声明 jQueryPlugin 时抛出 "jQueryPlugin is defined but never used" 错误。

如何告诉 JSHint 忽略此特定错误或以 JSHint 理解的方式定义 jQueryPlugin。

    define([
        'jquery',
        'underscore',
        'backbone',
        'some-jquery-plugin'
    ], function ($, _, Backbone, jQueryPlugin) //here is the error
    {
        'use strict';
        var someView = Backbone.View.extend(
        {
            someFunction: function ()
            {
                $('#a-css-id').jQueryPlugin();
            },
        });
        return someView;
    });

我尝试过的事情

/* exported jQueryPlugin */ 文件顶部的导出语句对此不起作用(在其他问题中建议)

/* jshint unused:false*/ 有效,但在文件中使规则成为全局规则(2000 多行代码),所以我不认为它是一个可行的解决方案。

/* jshint ignore:line */ 显然未在构建系统中启用 - 所以我无法提交此更改 (grunt-contrib-jshint)

最简单的解决方案是从参数列表中删除 jQueryPlugin

define([
        'jquery',
        'underscore',
        'backbone',
        'some-jquery-plugin'
    ], function ($, _, Backbone) 
    {

两个原因:

  1. 您没有使用该值。 (你用$(...).jQueryPlugin,这是不同的。)

  2. 我用 RequireJS 加载了很多 jQuery 插件,但从未遇到过任何 return 作为模块 提供有用价值的插件 .它们都将自己安装在 $ 上,通常 return undefined 作为它们的模块值。