作为一个初学者,尽管要阅读文档,但我还是无法理解某些术语的重要性。
我的.tsconfig文件中有
emitDecoratorMetadata
sourceMap
esModuleInterop
->允许从模块进行默认导入,而没有默认导出。这不影响代码发出,仅影响类型检查。
有人可以使上面的定义尽可能地容易理解吗?这是否意味着我们只能导入而不能导出?
例如,答案之一中的emitDecoratorMetadata
的定义为
是否为源中的修饰声明发出设计类型的元数据
修饰源声明是什么意思?另外,如果有人可以用更人性化的方式来解释sourceMap,那将非常有帮助。
更新:@Antonis写下了一个了不起的答案,但最后一部分看起来仍然很模糊。我在这里创建了单独的帖子:
答案 0 :(得分:2)
emitDecoratorMetadata
-例如,在Angular中,我们得到了@Injectable
,@Component
,@NgModule
装饰器。
这些装饰器使类能够发出携带所需信息的元数据,以使Angular了解该类所需的依赖类型,并在其构造函数中利用该依赖以及如何稍后在运行时处理该类
也请选中此答案here。
sourceMap
-源映射包含原始源代码的信息。当浏览器运行缩小,模糊和捆绑的代码时,我们需要此类地图。这些地图反映了捆绑代码中的原始代码,因此我们以后可以对其进行调试
esModuleInterop
-首先阅读有关CommonJS模块和ESModule的信息。其次,这意味着如果模块没有默认导出,您仍然可以默认从该模块导入某些内容
答案 1 :(得分:0)
官方文档可能有助于完整了解.tsconfig文件。
目录中存在tsconfig.json文件,表明 目录是TypeScript项目的根目录。 tsconfig.json文件 指定根文件和编译所需的编译器选项 该项目。
此处有更多信息:tsconfig.json