我有一堆自定义的配置比如
export function setupAuth(): void {
const velon = useVelon();
const store = new LocalStorageStore();
const service = new TokenService(velon.conf!.auth!, store);
velon.auth = { store, service };
}
再比如
export function setupHttp(): void {
const velon = useVelon();
velon.http = new HttpClient(velon.conf!, velon.auth!.service!);
}
诸如此类的一些对象,希望真正使用时可以通过如下方式调用
useVelon().http
目前 useVelon
的实现方式为
export function useVelon(): Velon {
// @ts-ignore
if (window.velon) return window.velon;
// @ts-ignore
window.velon = reactive<VelonType>({});
// @ts-ignore
return window.velon;
}
尝试过使用如下方式
declare let velon
export function useVelon():Velon{....}
这样不好使
假如有一天我要把我的项目扔到electron
或者其他没有window
的地方去,这个全局唯一
对象应该放在哪里?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.