【问题标题】:import * as util from "./util" vs import {someFunction} from "./util"import * as util from "./util" vs import {someFunction} from "./util"
【发布时间】:2020-05-11 11:01:16
【问题描述】:

import * as util from "./Util" 对比 import {someFunction} from "./Util"

哪一个比另一个更受欢迎,为什么?

【问题讨论】:

  • 如果您需要导入 Util 导出的所有内容(或许多内容),请使用 import *,否则 import {someFunction} 可以正常工作

标签: typescript import


【解决方案1】:

import * as util from "./Util" 相当于 CommonJS 中的 require("./Util")。 ES6 导入引入了对导入的直接对象解构分配,允许 treeshakable 库。 Treeshaking 是只导入模块所需代码的过程。这对于基于 Web 的项目特别有用。 @angular/flex-layout 就是一个很好的例子。整个库有 17.6kB,但单个导出要小得多。

将它用于本地文件只是半有用的,因为很少遇到甚至不使用的为项目专门编写的模块的一部分(因为它们是本地依赖项)。这仍然是一个很好的做法,因为模块的使用可能会随着项目的发展而改变。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-07
    • 1970-01-01
    • 2019-07-02
    • 2018-12-09
    • 2013-06-26
    • 2021-11-11
    • 2012-08-30
    • 2013-04-05
    相关资源
    最近更新 更多