在grunt中为单个文件运行jshint(代码片段)

author author     2022-12-29     552

关键词:

我在Grunt中有多个子任务(src,lib和test)的JSHint设置,效果很好。但是,由于我们刚开始使用此设置,因此我们的许多源文件中存在许多错误。

$ grunt jshint:src
... lots of errors ...

在一次处理一个文件的同时,是否可以重新打印该单个文件?

$ grunt jshint:src:one.js
... only errors from one.js ...

更新

一个复杂因素是监视任务还有多个子任务,可根据编辑的文件类型触发不同的任务。

watch: 
    src: 
        files: [ SRC_DIR + "hgm*.js" ],
        tasks: [ "jshint:src", "test" ]
    ,
    lib: 
        files: [ "lib/hgm-test-setup.js", "lib/hgm.loader.js" ],
        tasks: [ "jshint:lib", "test" ]
    ,
    test: 
        files: [ "tests/**/*.js" ],
        tasks: [ "jshint:test", "test" ]
    

原因是srclib使用一个.jshinttest使用另一个指定用于测试的所有全局变量如断言。我可以结合srclib,但我可以覆盖test的JSHint配置文件吗?

答案

grunt-contrib-watch-task提供了一个如何配置任务的示例,并使用watch-event仅对已更改的文件进行linting:

grunt.initConfig(
  watch: 
    scripts: 
      files: ['lib/*.js'],
      tasks: ['jshint'],
      options: 
        nospawn: true,
      ,
    ,
  ,
  jshint: 
    all: ['lib/*.js'],
  ,
);

// on watch events configure jshint:all to only run on changed file
grunt.event.on('watch', function(action, filepath) 
  grunt.config(['jshint', 'all'], filepath);
);
另一答案

由于上面的答案并不是我所期待或正在寻找的,我想提供这个答案......

你可以像grunt jshint-file:src/filename.js一样调用它

grunt.registerTask('jshint-file',
        'Runs jshint on a file',
        function (filePath) 
            var reportFunc = require('jshint/src/reporters/unix').reporter
            var optionsString = grunt.file.read('.jshintrc')
            var options = JSON.parse(optionsString)
            jshint(grunt.file.read(filePath), options)
            errors = jshint.data().errors.map(function (error) 
                var record = ;
                record.file = filePath;
                record.error = error;
                return record;
            );
            console.log(reportFunc(errors))
        
    )

带有 grunt-nodemon、watch 和 jshint 的 Gruntjs

...这3个插件运行GruntJS,以便它可以监视更改,首先:检查文件,然后重新加载快速服务器。我对下面配置的问题是,如果jshint对文件进行lint,nodemon不会运行,反之亦然。//Grunt 查看详情

grunt:将html页面捆绑到单个html文件中。所有依赖项(代码片段)

我有一个项目,它只包含单个HTML页面,其中包含多个JavaScript和CSS文件(目前通过<include>和<style>)。对于开发,包括单个文件是相当不错的。我的问题:对于捆绑版本,我想(自动)将所有脚本/css捆绑到一个HTML文件中... 查看详情

尝试使用grunt为单个sass文件创建单个css文件(以及使用多个sass文件到一个css文件)(代码片段)

...个sass文件和部分编译成一个全局css文件。我现在需要将单个sass文件映射到单个css文件(这些是组件/小部件)的功能。所以在我的最终标记中,小部件将具有以下内容:<linkrel="stylesheet"href="css/main.css"/><linkrel="stylesheet"href="... 查看详情

grunt-contrib-jshint 警告:路径必须是字符串;

】grunt-contrib-jshint警告:路径必须是字符串;【英文标题】:grunt-contrib-jshintwarning:pathmustbeastring;【发布时间】:2016-07-2522:57:22【问题描述】:我一直在尝试使用jshintgrunt模块来验证我的代码,但我总是收到以下错误:Running"jshint"t... 查看详情

基于grunt构建一个的项目

新建一个项目目录,这里建立一个“Demo”目录运行CMD,并进入这个目录,运行npminstallgrunt--save-dev在Demo目录下创建一个GruntFile.js文件,文件内容如下module.exports=function(grunt){grunt.initConfig({jshint:{files:[‘Gruntfile.js‘,‘src/**/*.js 查看详情

在django中为单个事务启用脏读(代码片段)

我正在Django中构建RESTAPI,用户可以在其中运行对象任务。我在下面创建了一个简单的示例,我使用事务轻松回滚对象的状态,以防任务失败。fromdjango.dbimportIntegrityError,transactiondefsend_object(id):obj=MyModel.objects.get(pk=id)ifobj.state!='Creat... 查看详情

.jshintrc配置(代码片段)

grunt工具可以配置.jshintrc文件,例如jshint:options:'-W033':true,'jshintrc':'.jshintrc',build:['Gruntfile.js','src/*.js']JSHint官网Options////强制选项////Whensettotrue,the 查看详情

如何在gradle中为单个测试类并行执行junit测试(代码片段)

我们有很多使用Spring的集成测试。我们不想为每个测试创建单独的JVM进程(maxParallelForks选项)或仅在多模块项目(--parallel)中运行并行构建。我们希望单个测试类并行执行测试,就像使用http://maven.apache.org/surefire/maven-surefire-plug... 查看详情

如何在asp.netcore的登录过程中为“记住我”设置单个cookie超时?(代码片段)

...在asp.net核心中有一个程序,并通过服务注入在启动文件中为应用程序设置了超时时间,而在登录过程中,我的“记住我”选项需要另一个cookie超时时间,有人知道怎么做吗?我在启动文件中使用app.configureApplicationCookie()。而... 查看详情

JSHint - ^ '简洁方法' 在 ES6 中可用

...的表单。我正在使用grunt作为任务运行程序来编译我的JS文件等等。这是我到现在为止所做的。$("form").submit(function 查看详情

如何在 Atom 中为 jshint 禁用“使用严格”

】如何在Atom中为jshint禁用“使用严格”【英文标题】:Howtodisbale\'usestrict\'forjshintinAtom【发布时间】:2017-02-2008:32:54【问题描述】:我想禁用JSHint警告"W097":usefunctionformof\'usestrict\'。我知道我可以放置/*jshint-W097*/和/*jshintnode:true*/... 查看详情

grunt-grunt使用(代码片段)

...e中指定的任务运行grunt。Gruntfile可以理解为Ant中的build.xml文件,里面描述了grunt要运行哪些任务,如何运行等信息。Gruntfile是一个标准的js文件,通常放在项目根目录下。安装命令:npminstall-ggrunt-cli命令需要在管理... 查看详情

如何同时运行两个grunt监视任务(代码片段)

是否可以同时运行两个监视任务?我知道我可以在手表设置中拥有任何我想要的任务,只需启动grunt手表,它就会观看所有这些,就像这样...watch:A:files:"js/dev/**/*.coffee",tasks:["coffee","requirejs"],B:files:"js/dev/**/*.coffee",tasks:["coffee"],C:fil... 查看详情

如何在 C# 中为多个进程提供单个命令窗口

】如何在C#中为多个进程提供单个命令窗口【英文标题】:Howtohavesinglecommandwindowformultipleprocessesinc#【发布时间】:2018-02-0309:14:52【问题描述】:我有一个winforms应用程序,我在其中循环运行一个进程(代码如下所示)。假设我有1... 查看详情

grunt:使用不同的环境/流程运行多个mocha测试(代码片段)

我想在不同的环境和数据库上运行多个mocha测试。暂定是创建两个单独的grunt配置:grunt.initConfig(//firstonemochaTest:options:...,src:['test/server/*.js'],//secondonemochaTest:options:...,src:['test/slave/*.js'],env:dev:NODE_EN 查看详情

用shell编译运行单个c++文件(代码片段)

g++编译c++文件,然后把在同一个文件夹内的.in文件作为运行的输入。shell程序的实现参考了陈锋老师的批处理文件写法#!/bin/bashecho"编译"g++"$1".cpp-lm-O2-pipe-o"$1"echo"运行"./"$1"<"$1".in使用方法如果shell文件和.cpp文件和.in文件在同一... 查看详情

.jshintrc配置(代码片段)

grunt工具可以配置.jshintrc文件,例如jshint:options:'-W033':true,'jshintrc':'.jshintrc',build:['Gruntfile.js','src/*.js']JSHint官网Options////强制选项////Whensettotrue,theseoptionswillmakeJSHintproducemorewarningsaboutyourcode./***是否... 查看详情

如何在doctrine2中为单个实体使用多个存储库?(代码片段)

我正在考虑第一次在项目中使用Doctrine2。在我的研究中,让我感到震惊的一件事是:<?php/***@Entity(repositoryClass="BugRepository")*@Table(name="bugs")**/classBug//...看来我只能将一个存储库与每个实体关联起来?如果这个Repository类变得太大... 查看详情