JShint警告:jQuery插件标记错误'已定义但从未使用过'在AMD

时间:2015-05-09 22:09:24

标签: javascript jquery requirejs amd jshint

JSHint正在抛出一个" jQueryPlugin已定义但从未使用过"关于jQueryPlugin声明的错误。

如何告诉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)

1 个答案:

答案 0 :(得分:2)

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

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

有两个原因:

  1. 您不使用该值。 (您使用$(...).jQueryPlugin不同。)

  2. 我已经使用RequireJS加载了许多jQuery插件,并且从未遇到过任何返回有用值作为模块的插件。它们全部安装在$上,通常会返回undefined作为模块值。