1

私は angular2 プロジェクトに取り組んでおり、コードを改善するために grunt-tslint を含めました。grunt タスク "tslint" とデフォルトの grunt タスクは問題なく動作しますが、watch タスクに含めるとリントしません。他のすべての監視タスクを削除しようとしましたが、機能しませんでした。

これは私のバージョンです:
grunt: v1.0.1
grunt-contrib-watch: 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']);

};

4

2 に答える 2

1

私は解決策を見つけたと思います。監視タスクは、2 つのタスク (ts と tslint) でフォルダーを監視しており、ts (最後のタスク) のみを実行していました。私は両方を組み合わせて、今では動作しています:

        ts: {
            files: ['app/**/*.ts'],
            tasks: ['ts', 'tslint']
        }
于 2017-01-13T13:36:49.650 に答える
0

アップデート:

代わりに、監視タスクを次のものに置き換えてみてください。

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

ノート:

  1. 指定されたターゲットはタスクtslintから削除されました。watch
  2. tslintタスクを実行するための呼び出しがターゲットのtasks配列に追加されました。ts

$ grunt watchファイルを実行すると、次のようになります。

  1. tslintで定義されたルールに従って使用されtslint.jsonます。
  2. それらがそのチェックに合格すると、トランスパイルされgrunt-tsます。
  3. チェックに失敗した場合、ファイルはトランスパイルされず、エラーは CLI に報告されます。

お役に立てれば!


前の回答:

grunt-ts考えられる解決策の 1 つは、パッケージの最新の安定バージョンに戻すことです。

これをする:

  1. cdプロジェクトディレクトリに。

  2. の現在のバージョンをアンインストールしgrunt-tsます:

$ npm uninstall grunt-ts --save-dev

  1. 次に、最後の安定版リリースgrunt-ts ( 5.5.1のようです)をインストールします。

$ npm install grunt-ts@5.5.1 --save-dev

注:プロジェクト ディレクトリのコピーで上記を試して、成功するかどうかを確認することをお勧めします。

于 2017-01-12T14:58:51.417 に答える