jshint咕噜导出选项(jshint grunt exported options)

2019-10-18 05:39发布

嗨,我是努力实现以下。 我使用的呼噜声了jshint验证。

某处在一个文件我用:

var logger = function () {
 // some ode
}

由于记录器实际上从未jshint正确显示我下面的错误。

W098: 'logger' is defined but never used.

我可以设置未使用的为false,这将很好地工作。 但其实我是想选择发生在其他文件中,并警告我未使用的变量。 因此,未使用的选项是不适合我要去工作。

我也看到了,我可以用这样的行内注释:*出口EXPORTED_LIB * /

但我真的希望避免混乱与这样的评论我的文件。 有没有像我可以例如用于全局我可以在我的呼噜声文件中指定导出选项的任何机会。

我的继承人gruntfile的jshint部分:

jshint: {
        // global options
        options: {
            camelcase: true,
            curly: true,
            eqeqeq: true,
            forin: true,
            immed: true,
            indent: 4,
            latedef: true,
            newcap: true,
            noarg: true,
            nonew: true,
            plusplus: false,
            quotmark: 'single',
            undef: true,
            unused: true,
            strict: true,
            maxparams: 4,
            maxdepth: 4,
            trailing: true,
            maxlen: 120,
            browser: true,
            node: true
        },
        server_logger: {
            src: [BASE_PATH_SERVER_LOGGER, '/**/*.js'].join(''),
            options: {
                browser: false
            }
        },
        client_logger: {
            src: [BASE_PATH_CLIENT_LOGGER, '/**/*.js'].join(''),
            options: {
                node: false,
                devel: true
            }

        }
    }

谢谢你的时间。

最好的问候Playerwtf

更新:我在jshint github上资源库做了一个问题在这里

Answer 1:

这是最近fixxed,现在工程,我会想到它。

github上发出

例如,我在我的gruntfile使用它像这样

client_logger: {
    expand: true,
    cwd: BASE_PATH_CLIENT_LOGGER,
    src: '**/*.js',
    options: {
        node: false,
        devel: true,
        globals: {
            logger: true,
            expect: true,
            it: true,
            describe: true,
            beforeEach: true,
            afterEach: true
        },
        exported: ['logger']
    }
}

但NPM模块尚未更新。 如果你想要这个工作,你必须手动的最新版本从jshint GitHub的库复制并更换一个在当前模块中或等待,直到它被更新。



Answer 2:

我认为你可以在你的src-文件排除文件,所以你可以从你的基本掉毛排除你的记录文件(我假设记录文件是logger.js这里),并与未使用的标志关闭separatly皮棉记录文件。

阅读更多有关在这里 - >“!在模式的开头会否定匹配”

你可以设置CWD(和离开加入的东西)。 查看更多有关的文档: 构建文件动态对象

jshint: {
    // global options
    options: {
        ... your global options here
    },
    server_logger: {
        options: {
            browser: false
        },
        files: [{
          cwd: BASE_PATH_SERVER_LOGGER,
          src: ['/**/*.js', '!logger.js']
        }]
    },
    client_logger: {
        options: {
            node: false,
            devel: true
        },
        files: [{
          cwd: BASE_PATH_CLIENT_LOGGER,
          src: ['/**/*.js', '!logger.js']
        }]
    },
    lint_logger: {
        options: {
            unused: false
        },
        files: [{
          src: ['logger.js']
        }]
    }
}

不是100%肯定,如果这样的作品,但我认为它至少应该带领你进入正确的方向。 如果你需要指定排除,你可以把你的记录文件在一个单独的文件夹的路径,而不是只有一个文件中只排除该文件夹!



文章来源: jshint grunt exported options