Nuxt.js Resource Module
⚠️Under development⚠️
正常に動かない可能性があります。
There is a possibility that it does not move normally.
Status
Features
- @nuxtjs/axiosをラップした HTTP リクエストモジュール
- asyncData と fetch でリクエストしたリクエストを遷移後まで遅延させられます
- リンクをクリックしてすぐに遷移します
- 遷移後リクエストを行い、response.dataをそのままdataプロパティにマッピングします
- SSR 時は遅延させずにそのままリクエストします
- リクエスト時にレスポンスを加工する処理を追加できます
Install
$ yarn add nuxt-resource-module
nuxt.config.js
module.exports = {
modules: [
'nuxt-resource-module',
'@nuxtjs/axios',
],
}
Usage
async asyncData({ app, error }) {
const response = await app.$_resource.get({
url: '/users',
});
const response = await app.$_resource.delay.get({
url: '/users',
dataMapper(response: AxiosResponse) {
const { data } = response;
return data ? { users: data.users } : { users: [] };
},
processor(response: AxiosResponse) {
if (response.status !== 200) {
error({ statusCode: response.status, message: 'Request error' })
}
return response;
},
});
}
Options
coming soon...