compilation - 获取 WebStorm 中依赖的 TypeScript 文件的编译错误

标签 compilation compiler-errors typescript webstorm

我想知道是否有办法让 WebStorm 在编辑后向我显示依赖 TypeScript 文件的编译错误。例如,假设我有如下 Class1.ts:

class Class1 {
    foo(n: number): number { return 3; }
}

export = Class1;

还有Class2.ts:

import Class1 = require('./Class1');

class Class2 extends Class1 {

    foo(n: number): number { return 4; }
}

现在,假设我编辑 Class1.ts 并更改 foo 的参数类型:

class Class1 {
    foo(n: string): number { return 3; }
}

export = Class1;

当我执行编辑并保存时,我没有看到任何新错误出现。如果我将焦点切换到 Class2.ts 选项卡,此时会出现“不兼容的覆盖”消息。但理想情况下,我想要某种方式来查看我在进行编辑后在整个项目中引入的所有错误。我可以启用一些 View 来完成此操作吗?

最佳答案

使用外部文件观察器是否适合您?

我发现 typescript 的 webstorm filewatcher 有点问题。结果,我禁用了 filewatcher 并简单地在它的位置使用 grunt-contrib-watch。它工作得很好,并在您需要时提供更多的灵 active 。

你可以在你的 gruntfile.js 中做这样的事情:

module.exports = function (grunt) {
    var files = [
            'app/**/*.ts'
        ];

    grunt.initConfig({      
        tslint: {
            options: {
                configuration: grunt.file.readJSON("tslint.json")
            },
            files: {
                src: files
            }
        },
        typescript: {
            base: {
                src: files,
                options: {
                    module: 'commonjs',
                    target: 'es5'
                }
            },
            build: {
                src: ['./app.ts'],
                options: {
                    module: 'commonjs',
                    target: 'es5'
                }
            }
        },
        watch: {
            ts: {
                files: ['app/**/*.ts', 'shared/**/*.ts'],
                tasks: ['typescript']
            }
        }
    });

    // Load Tasks
    grunt.loadNpmTasks('grunt-tslint');
    grunt.loadNpmTasks('grunt-typescript');
    grunt.loadNpmTasks('grunt-contrib-watch');

    // Register Tasks
    grunt.registerTask('default', ['watch']);   
};

然后简单地运行 grunt 将执行 watch 命令,您可以消除 webstorm typescript filewatcher。这将为您提供在保存时寻找的构建错误。

*注意:我将 tslint 留在了 gruntfile 中,因为定期对您的文件运行 tslint 是个好主意,但这当然不是必需的。如果您对此有任何疑问,请告诉我。

关于compilation - 获取 WebStorm 中依赖的 TypeScript 文件的编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21464025/

相关文章:

linux - 来自 C++ 头文件的奇怪的 g++ 编译器错误

C IDE编译器教程(没有任何作用)

javascript - 找不到 tsconfig 路径

javascript - 双向绑定(bind) : array of numbers within angular application

c++ - 未定义对在单独文件中定义的成员函数的引用

c++ - c++编译时的错误

c# - Visual Studio 变得疯狂 : 'The directory name is invalid' error when trying to compile

typescript - "Duck" typescript 中的打字与函数参数

java - 在另一个 void 函数中传递一个私有(private) void 函数(编译错误 java)

编译输出代码