我有一个包含以下内容的 JavaScript 文件:
const api = {
call(type, url, data) {
console.log(type + "bar");
},
get(url, query) {
this.call("foo");
}
}
我希望能够在必要时跨多个不同的文件调用 api.get()
,但我在导入时遇到了问题。
当我尝试访问
api
变量时,通过import
单独加载文件会给我一个 ReferenceError:import "services/api.js"; console.log(api);
Uncaught ReferenceError: api is not defined
给导入一个名称(
api
)返回一个对象,但它没有内部方法:import api from "../../services/api.js"; console.log(api); console.log(api.get);
Object {}
undefined
我做错了什么?
最佳答案
您的 api.js
未导出任何内容。您应该重写它以导出以下每个函数:
export function call(type, url, data) {
console.log(type + "bar");
}
export function get(url, query) {
call("foo");
}
(这比默认导出一个 api
对象文字要好得多)
然后你就可以像这样使用它了
import * as api from "../../services/api.js";
console.log(api);
console.log(api.get);
关于javascript - 如何导入命名空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41549996/