Gruntjs grunt tslint没有执行监视任务

Gruntjs grunt tslint没有执行监视任务,gruntjs,grunt-contrib-watch,tslint,grunt-ts,Gruntjs,Grunt Contrib Watch,Tslint,Grunt Ts,我正在从事angular2项目,并加入了grunt tslint以改进我的代码。grunt任务“tslint”和默认grunt任务工作正常,但当我将其包含到watch任务中时,它不是linting。我试图删除每一个其他的手表任务,但也不工作 这是我的版本: 咕噜声:v1.0.1 grunt contrib手表:1.0.0 grunt ts:v6.0.0-beta.3 grunt tslint:4.0.0 还有咕哝的任务: module.exports = function (grunt) {

我正在从事angular2项目,并加入了grunt tslint以改进我的代码。grunt任务“tslint”和默认grunt任务工作正常,但当我将其包含到watch任务中时,它不是linting。我试图删除每一个其他的手表任务,但也不工作

这是我的版本:
咕噜声:v1.0.1
grunt contrib手表:1.0.0
grunt ts:v6.0.0-beta.3
grunt tslint:4.0.0

还有咕哝的任务:

module.exports = function (grunt) {

grunt.initConfig({

    pkg: grunt.file.readJSON('package.json'),
    tslint: {
        options: {
            configuration: "tslint.json",
            force: false,
            fix: false
        },
        files: {
            src: ['app/**/*.ts']
        }
    },
    ts: {
        default : {
            src: ['app/**/*.ts'],
            outDir: 'outDir/app/',
            tsconfig: './tsconfig.json'
        }
    },

watch: {
        tslint: {
            files: ['app/**/*.ts'],
            task: ['tslint']
        },
        ts: {
            files: ['app/**/*.ts'],
            tasks: ['ts']
        }
    }
});

grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-ts');
grunt.loadNpmTasks('grunt-tslint');

grunt.registerTask('default', [
    'ts', 'tslint'
]);

grunt.registerTask('validate:ts', ['tslint']);
})


更新:

请尝试用以下内容替换您的监视任务:

观察:{
ts:{
文件:['app/***/.ts'],
任务:['tslint','ts']
}
}
注意:

  • 命名的
    tslint
    已从您的
    watch
    任务中删除
  • 运行
    tslint
    任务的调用现在已添加到
    ts
    目标的
    tasks
    数组中
  • 现在,当您运行
    $grunt watch
    时,文件将是:

  • 根据
    tslint.json
    中定义的规则,使用
    tslint
    进行lint
  • 如果他们通过了检查,他们将被传送
    咕噜声ts
  • 如果检查失败,则不会传输任何文件,任何错误都将报告给CLI
  • 希望这有帮助


    先前的答案:

    一个可能的解决方案是尝试恢复到
    grunt ts
    包的最后一个稳定版本

    为此:

  • cd
    到项目目录

  • 卸载当前版本的
    grunt ts

  • $npm卸载grunt ts--保存开发人员

  • 然后安装最后一个稳定版本的
    grunt ts
    (看起来是)
  • $npm安装grunt-ts@5.5.1--保存开发文件


    注意:我建议用项目目录的副本尝试上述操作,看看是否成功

    我想我找到了解决办法。 “监视”任务使用两个任务(ts和tslint)监视文件夹,并且它只运行ts(最后一个任务)。我将两者结合起来,现在它开始工作了:

            ts: {
                files: ['app/**/*.ts'],
                tasks: ['ts', 'tslint']
            }
    

    谢谢你的提示。我试过了,但还是不行。但我认为最好还是使用stabel版本,我把它“更新”到了v5.5.1Hah——我只是用同样的答案更新了之前的帖子。嗨,太好了。非常感谢您的支持