跳到主要内容
版本:v3

Troubleshooting

如何通过 cdn 使用 alova?

<!DOCTYPE html>
<html lang="en">
<head>
<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<script src="https://unpkg.com/alova/dist/alova.umd.min.js"></script>
<script src="https://unpkg.com/alova/dist/adapter/fetch.umd.min.js"></script>
<script src="https://unpkg.com/alova/dist/hooks/vuehook.umd.min.js"></script>
</head>
<body>
<div id="app">
<div v-if="loading">Loading...</div>
<div v-else-if="error">{{ error.message }}</div>
<span v-else>responseData: {{ data }}</span>
</div>
</body>
<script>
const alovaInstance = alova.createAlova({
statesHook: VueHook,
requestAdapter: alovaFetch(),
responded: response => response.json()
});

Vue.createApp({
setup() {
return alova.useRequest(
alovaInstance.Get('https://jsonplaceholder.typicode.com/todos/1')
);
}
}).mount('#app');
</script>
</html>

在 React-Native 中要注意什么?

使用 alova 开发 React-Native 应用时,你也可以使用 alova/fetch

但是有以下的注意事项:

metro 版本

在 alova 中的package.json中使用了exports来定义多个导出项,因此需要确保这两点:

  1. metro 版本高于 0.76.0
  2. metro.config.js中开启resolver.unstable_enablePackageExports详情点此查看

引入alova/fetch时报错

当在 typescript 项目中引入alova/fetch时报模块"${1}/alova/typings/fetch"没有默认导出的错误时,请检查以下两点:

  1. tsconfig.json中添加如下配置:
{
"compilerOptions": {
"esModuleInterop": true
}
}
  1. 降级 typescript 版本到 5.5.x 及以下。