【发布时间】:2021-06-06 13:03:00
【问题描述】:
在 Node JS 中测试以下模块布局,看起来本地导出的定义总是在名称冲突的情况下替换外部导出的定义(参见 B.js 中的 f1)。
A.js
export const f1 = 'A'
B.js
export * from './A.js'
export const f1 = 'B'
C.js
import * as A from './A.js'
import * as B from './B.js'
console.log(A.f1)
console.log(B.f1)
> node C.js
// A
// B
这是规定吗?我还没有在 Ecmascript 规范中找到有关如何管理它的信息。
导入/导出顺序重要吗?
您认为这是扩展模块重载功能和/或添加新功能的可靠方法吗?
【问题讨论】:
-
本地导出优先。这实际上是standardized in the spec。
标签: javascript node.js es6-modules ecmascript-next