Typescript 导出与默认导出?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (68)

Typescript在导出和默认导出之间有什么区别。在所有教程中,我都看到有人导出他们的类,如果我在导出之前没有添加默认关键字,我无法编译我的代码。

另外,我在正式的Typescript文档中找不到任何默认导出

export class MyClass {

  collection = [1,2,3];

}

不编译。但:

export default class MyClass {

  collection = [1,2,3];

}

错误是: error TS1192: Module '"src/app/MyClass"' has no default export.

提问于
用户回答回答于

默认导出(export default

// MyClass.ts -- using default export
export default class MyClass { /* ... */ }

主要区别在于,每个文件只能有一个默认导出,可以像这样导入:

import MyClass from "./MyClass";

你可以给它任何你喜欢的名字。例如,这工作正常:

import MyClassAlias from "./MyClass";

用户回答回答于

以下是简单对象导出的示例。

var MyScreen = {

    /* ... */

    width : function (percent){

        return window.innerWidth / 100 * percent

    }

    height : function (percent){

        return window.innerHeight / 100 * percent

    }


};

export default MyScreen

在主文件中(当你不需要创建新实例时使用),它不是全局的,只有在需要时才会导入:

import MyScreen from "./module/screen";
console.log( MyScreen.width(100) );

扫码关注云+社区