mk.*_*mk. 5 javascript typescript ecmascript-6
如果我们指定默认导出:
export class Foo {}
export default Foo;
Run Code Online (Sandbox Code Playgroud)
然后我们可以在导入期间省略花括号(如本答案中所述):
import { Foo } from "foo"; // becomes:
import Foo from "foo";
Run Code Online (Sandbox Code Playgroud)
那很好,但是在特殊情况下是否有任何非风格的理由偏爱另一个?例如,是否存在某些约定,或者某些约定与某些工具不兼容,或者是否具有不同的含义?
(基于这个讨论和其他人,我的理解是,export default
可能已经出现了一种处理单个主要对象(如$
)的导出的方法,现在由import * as foo from "foo"
它处理.此外,似乎默认导入语法不强制执行naming(import fooAlias from "foo"
),而标准导入import { fooAlias } from "foo"
将是一个编译错误,除非别名是explicit(Foo as fooAlias
).除此之外,我还没有找到关于何时应该使用其中一个的详细信息.)
导出默认值可以允许您在导入时重命名文件,以便...
foo.js
export default class Foo{
constructor(){
}
}
Run Code Online (Sandbox Code Playgroud)
可以import Bar from './foo';
位于另一个文件中,如果您正在使用库并且已经定义了类 Foo,这可能会很有用。
您还可以导出默认值和非默认值,以便:
import Foo, { someVariable, someMethod } from './foo';
归档时间: |
|
查看次数: |
407 次 |
最近记录: |