2

私はうなり声を使用しています:

  "dev-build": {
                src: ["src/**/*.ts", "typings/vendors.d.ts","typings/tsd.d.ts", "!libs/**/*.ts"],
                    outDir: "artifacts/dev",
                    watch: "src/**/*",
                    options: {
                        // comments: true,
                  //      baseDir: 'src/',
                        module: "amd",
                        target: "es5",
                        sourceMap: true,
                        declaration: true, //inlineSourceMap :true,
                        //emitDecoratorMetadata:true,
                        //experimentalDecorators:true,

                    }               

            }

すべてが正常にコンパイルされます。

「TypeScript のコンパイルが完了しました: 256 個の TypeScript ファイルで 8.97 秒。」

しかし、コードを変更せずにファイルを変更(改行を追加)した後、コンパイルは時計で壊れます:

### changed  >>src/FxsPortal/FxsBaseItemViewModel.ts
Compiling...
### Fast Compile >>src/FxsPortal/FxsBaseItemViewModel.ts
Using tsc v1.6.2
C:/dev/AscendXYZ Portal/src/FxsPortal/FxsBaseItemViewModel.ts(2,21): error TS2307: Cannot find module 'knockout'.

すべて手動でコンパイルできるので、エラーがないことはわかっています。ts-grunt の監視がトリガーされたときになぜ機能しないのか理解できないようです。

4

2 に答える 2

1

参考までに、外部ウォッチを使用してこれをどのように解決したかを共有したかっただけです。

 watch: {
            devBuildWatch: {
                files: ['src/**/*'],
                tasks: ['ts:devBuild'],
                options: {
                    spawn: false,
                },
            }
        },

および onchange アクション

 var changedFiles = {};

    var onChange = grunt.util._.debounce(function () {
        grunt.config('ts.devBuild.src', Object.keys(changedFiles).concat([ "typings/vendors.d.ts","typings/tsd.d.ts", "!libs/**/*.ts"]));
        changedFiles = Object.create(null);
    }, 50);

    grunt.event.on('watch', function (action, filepath) {
        changedFiles[filepath] = action;
        onChange();
    });
于 2015-10-13T07:25:37.160 に答える
0

ts-grunt の監視がトリガーされたときになぜ機能しないのか理解できないようです。

これらのエラーは無視しても問題ありません。それらが表示される理由は、grunt がtscコマンド ラインから実行され、個々のファイルのみが渡されるためです。

もっと

どうしても気になる場合は、referenceタグを使用してグローバル.d.tsファイル ( 経由ではないファイル) を取り込むことができますimport/require。しかし、私はそれに対して強くお勧めします。実際のエラーを表示する IDE を開いておく必要があります( ...cough atom-ts ... )

于 2015-10-12T22:32:39.573 に答える