如何在TypeScript中使用错误的默认导入时触发编译时错误

时间:2017-10-07 17:19:21

标签: typescript

我正在将现有代码库迁移到TypeScript。从#5565开始,我知道我需要将外部模块的import语句从默认导入(import slug from 'slugg')更改为命名空间导入(import * as slug from 'slugg')。该网站现在大部分都在工作,但有些地方我错过了更改导入。实际使用模块时,这会导致运行时错误:Uncaught TypeError: slugg_1.default is not a function

有没有办法使这成为编译时错误?

我有两个tsconfig.json个文件。一个用于前端(由awesome-typescript-loader / webpack使用:

{
    "compilerOptions": {
        "jsx": "react",
        "lib": ["es2015", "es2016", "es2017", "dom"],
        "module": "commonjs",
        "sourceMap": true,
        "target": "es5"
    }
}

一个用于后端(由ts-node使用):

{
    "compilerOptions": {
        "module": "commonjs",
        "target": "es2017"
    }
}

起初我认为这可能是webpackts-node特有的问题,但webpack构建时没有任何错误,服务器启动时没有任何错误。我是TypeScript的新手,所以任何见解都会受到赞赏。我确实发现another issue表明这种情况不会在编译时被捕获。

0 个答案:

没有答案