默认和常规打字稿出口之间的区别?

时间:2017-05-01 21:16:25

标签: typescript typescript2.0

只是想知道我是否理解使用default关键字和'normal'导出的typescript导出之间的区别。例如:

import validate from "./StaticZipCodeValidator";

在这种情况下,我们不需要用大括号{}括起验证,因为它是“./StaticZipCodeValidator”的默认导出;

因此,在导出默认值时,我们不使用大括号,如下所示:

declare let $: JQuery;
export default $;

导入时我们也不使用花括号。我错过了什么吗?

3 个答案:

答案 0 :(得分:1)

  

导入时我们也不使用花括号。我错过了什么吗?

没有。

那就是说。我个人不使用默认导出for various reasons。我已经看到其他OSS库也可以选择避免这个功能。

答案 1 :(得分:1)

TypeScript模块是ES6模块的一种实现。我建议来自Mozilla的the ES6 introduction to modules

import _ from "lodash";
     

此简写相当于import {default as _} from "lodash";

     

[...]默认导出没有什么神奇之处;它就像任何其他导出一样,除了名为"default"

成员default旨在取代CommonJS module.exports =。它更好,因为我们可以保留以后导出更多内容的能力。

答案 2 :(得分:0)

假设您有一个文件(模块)。模块可以有多个clases,抽象和接口。

然后,当您导入非默认类,抽象或接口时,您必须使用花括号,否则您将导入默认导出组件。

import {NotDefaultClass} from "DefaultExportedClass";

import DefaultExportedClass from "DefaultExportedClass";