【发布时间】:2024-01-23 14:14:01
【问题描述】:
//file1.js
export function foo() {
//todo
}
//file2.js
export function bar() {
file1.foo();
//todo
}
//main.js
import * as file1 from './file1'
if(true) {
import('./file2.js').then((_) => {
//bar calls file1.foo()
bar();
});
-
如您所见,有一个导出函数的 file1.js。一个file2.js 也导出了一个函数,但它使用了 file1.js 中存在的函数
还有另一个文件 main.js,它总是在开始时导入 file1.js。 如果满足某些条件,则导入 file2.js 并调用函数 bar() 调用 foo() 存在于 file1.js 中
如果以这种方式导入文件,这会起作用吗?如果没有的话 还有其他选择吗?
【问题讨论】:
-
file2 必须自己导入 file1,否则 file2 将无法使用 file1。导入不是全局的——它们是模块的本地(它们可能共享一个缓存,但给定的模块仍然需要导入它使用的东西)。
-
为什么它不起作用?您能否解释您遇到的问题或重述问题?
标签: javascript ecmascript-6 import export