了解.tsconfig文件

时间:2019-05-20 04:50:56

标签: typescript

作为一个初学者,尽管要阅读文档,但我还是无法理解某些术语的重要性。

我的.tsconfig文件中有

emitDecoratorMetadata

sourceMap

esModuleInterop->允许从模块进行默认导入,而没有默认导出。这不影响代码发出,仅影响类型检查。 有人可以使上面的定义尽可能地容易理解吗?这是否意味着我们只能导入而不能导出?

例如,答案之一中的emitDecoratorMetadata的定义为

  

是否为源中的修饰声明发出设计类型的元数据

修饰源声明是什么意思?另外,如果有人可以用更人性化的方式来解释sourceMap,那将非常有帮助。

更新:@Antonis写下了一个了不起的答案,但最后一部分看起来仍然很模糊。我在这里创建了单独的帖子:

Understanding esModuleInterop in tsconfig file 我经历过的资源:

  1. https://www.typescriptlang.org/docs/handbook/compiler-options.html
  2. https://basarat.gitbooks.io/typescript/docs/project/tsconfig.html
  3. what is the purpose of tsconfig.json?

2 个答案:

答案 0 :(得分:2)

emitDecoratorMetadata-例如,在Angular中,我们得到了@Injectable@Component@NgModule装饰器。

这些装饰器使类能够发出携带所需信息的元数据,以使Angular了解该类所需的依赖类型,并在其构造函数中利用该依赖以及如何稍后在运行时处理该类

也请选中此答案here

sourceMap-源映射包含原始源代码的信息。当浏览器运行缩小,模糊和捆绑的代码时,我们需要此类地图。这些地图反映了捆绑代码中的原始代码,因此我们以后可以对其进行调试

esModuleInterop-首先阅读有关CommonJS模块和ESModule的信息。其次,这意味着如果模块没有默认导出,您仍然可以默认从该模块导入某些内容

答案 1 :(得分:0)

官方文档可能有助于完整了解.tsconfig文件。

  

目录中存在tsconfig.json文件,表明   目录是TypeScript项目的根目录。 tsconfig.json文件   指定根文件和编译所需的编译器选项   该项目。

此处有更多信息:tsconfig.json