gpt4 book ai didi

javascript - 根据条件重新导出或动态导出对象

转载 作者:行者123 更新时间:2023-11-28 13:02:03 25 4
gpt4 key购买 nike

这是一个简单的场景,我正在努力解决

apicontainer.js

import mockApi from './mock-api';
import realApi from './api';
function getApi() {
return Cookies.get('isMock') ? mockApi: realApi;
}
let api = getApi();
export function changeApi() {
api = getApi();
}
export default api

somepage.js

import api from './path-to/apicontainer';

应用程序加载后,如果设置/删除cookie并调用changeApi方法,它会动态更改引用并返回正确的api还是有更好的解决方案?

最佳答案

是的,导入的绑定(bind)只是对导出变量的引用。一种不导出值,一种使变量本身可用(尽管从外部只读)。

所以你可以这样做

// apicontainer.js
import mockApi from './mock-api';
import realApi from './api';
function getApi() {
return Cookies.get('isMock') ? mockApi: realApi;
}
let api = getApi();
export { api as default }
export function changeApi() {
api = getApi();
}

// somepage.js
import api, {changeApi} from 'apicontainer'
changeApi();

关于javascript - 根据条件重新导出或动态导出对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49523338/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com