Typescript 没有d.ts文件时没有编译错误

Typescript 没有d.ts文件时没有编译错误,typescript,Typescript,如果我没有与我使用的外部库对应的打字(在TypeScript文件中安装和引用),我希望TypeScript应用程序的编译失败。目前,没有它们,编译是成功的 以下是我的tsconfig.json的内容: { "compilerOptions": { "target": "ES5", "module": "system", "moduleResolution": "node", "sourceMap": true, "emitDecoratorMetada

如果我没有与我使用的外部库对应的打字(在TypeScript文件中安装和引用),我希望TypeScript应用程序的编译失败。目前,没有它们,编译是成功的

以下是我的
tsconfig.json
的内容:

{
  "compilerOptions": {
    "target": "ES5",
    "module": "system",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "removeComments": false,
    "noImplicitAny": false,
    "noEmitOnError": false,
    "declaration": true
  }
}
下面是我想抛出错误的代码(未定义
toastr
变量,仅在运行时提供):

从'angular2/core'导入{Component};
@组成部分({
选择器:“我的应用程序”,
模板:`
你好,世界
`
})
导出类AppComponent{
构造函数(){
toastr.info('我在这里几秒钟');
}
}

谢谢

关闭编译器的一种快速方法是将toastr变量声明为any

declare toastr: any;

使编译器关闭的一种快速方法是将toastr变量声明为any

declare toastr: any;

默认情况下,即使存在错误,TypeScript也会发出JavaScript


也就是说,您的tsconfig
中有“noemiton错误”:false,
。如果将其更改为true,则在出现任何错误时将不会获得发射。请注意,这可能会降低增量编译性能,因为编译器需要进行整个程序分析,甚至需要对单个文件进行emit

默认情况下,即使存在错误,TypeScript也会发出JavaScript


也就是说,您的tsconfig
中有“noemiton错误”:false,
。如果将其更改为true,则在出现任何错误时将不会获得发射。请注意,这可能会降低增量编译性能,因为编译器需要进行整个程序分析,甚至需要对单个文件进行emit

我认为没有一个简单的方法可以做到这一点。Typescript被编写为JavaScript的超集,因此所有有效的JavaScript都是有效的Typescript。有效的JavaScript可以取消类型化,因此有效的Typescript可以取消类型化。Typescript编译器可以内置这个功能,但我不知道有任何这样的功能。您可以尝试在树的某个位置的文件中引用功能请求吗?这不是为我编译的,所以一定有些不同。你不想使用toastr类型有什么原因吗?你需要
noemitError
false
。也就是说我不推荐它。看到我的答案了吗?真的吗?我在运行tsc命令时没有编译错误。。。也就是说,我在Sublime的Typescript插件中有一个错误。我不认为有一个简单的方法可以做到这一点。Typescript被编写为JavaScript的超集,因此所有有效的JavaScript都是有效的Typescript。有效的JavaScript可以取消类型化,因此有效的Typescript可以取消类型化。Typescript编译器可以内置这个功能,但我不知道有任何这样的功能。您可以尝试在树的某个位置的文件中引用功能请求吗?这不是为我编译的,所以一定有些不同。你不想使用toastr类型有什么原因吗?你需要
noemitError
false
。也就是说我不推荐它。看到我的答案了吗?真的吗?我在运行tsc命令时没有编译错误。。。也就是说我在Sublime中的Typescript插件有一个错误。谢谢你的回答!我问这个问题是因为Angular2的构建允许这样做。我的意思是,当出现错误时,编译失败,我很好奇如何在typescript配置文件中配置它……看,我猜这是因为它们不使用相同的编译器;-)谢谢你的回答!我问这个问题是因为Angular2的构建允许这样做。我的意思是,当出现错误时,编译失败,我很好奇如何在typescript配置文件中配置它……看,我猜这是因为它们不使用相同的编译器;-)是的,我知道;-)事实上,我的问题是:如果我忘记了这一点,如何看到编译错误……是的,我知道这一点;-)事实上,我的问题是:如果我忘记了这一点,如何看到编译错误。。。