【问题标题】:When do we use typescript import * as?我们什么时候使用 typescript import * as?
【发布时间】:2019-07-30 01:23:03
【问题描述】:

尝试为import * as Blah 的功能开发一个心智模型。例如:

import * as StackTrace from 'stacktrace-js';

这是如何工作的?我们什么时候做import *

【问题讨论】:

标签: javascript node.js angular typescript npm


【解决方案1】:

不是一个真正的答案,而是一个用法:假设您有一些常量字符串要在您的应用程序中使用,您可以在单个文件中定义它们并导出

export const name = "NAME";
export const someOtherString = "SOME_CONST_STRING";

然后您可以使用以下命令将它们导入单个变量中:

import * as CONST_STRINGS from './yourFilePath';

并用作

CONST_STRINGS.name 
CONST_STRINGS.someOtherString

【讨论】:

    【解决方案2】:

    来自TypeScript doc

    将整个模块导入单个变量,并使用它来访问模块导出


    示例代码将stacktrace-js 模块的所有导出 导入到名为StackTrace 的变量中。

    任何命名的导出都可以作为同名的属性使用。

    如果模块有一个默认导出,它将作为default 属性提供。


    请注意TypeScript Module doc

    从 ECMAScript 2015 开始,JavaScript 有了模块的概念。 TypeScript 分享了这个概念。

    所以 TypeScript 模块的行为方式与 ES6 JavaScript 模块相同。


    当您想在单个变量中访问所有模块导出时,您可以在 TypeScript 或 JavaScript 中使用 import * as

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-07
      • 2021-09-07
      • 2020-12-12
      • 1970-01-01
      • 1970-01-01
      • 2014-12-30
      • 1970-01-01
      • 2010-12-24
      相关资源
      最近更新 更多