kenticocloud-nuxt-module
Add kentico cloud super power to your nuxt app
Features
The module makes it easy to do delivery client api calls via the Kentico Cloud Delivery SDK.
Quick start
- Install via npm
npm i kenticocloud-nuxt-module --save
npm i rxjs --save (because this is a peer dependency of the Kentico Cloud Delivery SDK)
- Add
kenticocloud-nuxt-module
tomodules
section ofnuxt.config.js
/* ** Nuxt.js modules */ modules: 'kenticocloud-nuxt-module' kenticocloud: projectId: 'xxxx-xxx-xxxx-xxxx-xxxxx' enableAdvancedLogging: false previewApiKey: 'xxxxxxxxxxxxxxxxxxxxxxxxxxx' enablePreviewMode: true baseUrl: 'https://custom.uri/api/KenticoCloudProxy' securedApiKey: 'xxx' enableSecuredMode: true
- $deliveryClient is now globally available.
this$deliveryClient type'page' ;
Note:
By default Nuxt can only work with promises. Therefor you always use the "toPromise" method provided by the Kentico Cloud Delivery SDK! RxJs operator's are not supported at the moment.
Caching
API calls can be "cached" (they will be stored in memory) client side via the "viaCache" method.
const query = this$deliveryClienttype'page'; const cacheSeconds = 30; this$deliveryClient ;
Extending
If you need to customize the Kentico Cloud Delivery SDK by registering interceptors and changing global config, you have to create a nuxt plugin.
nuxt.config.js
{
modules: [
'kenticocloud-nuxt-module',
],
plugins: [
'~/plugins/kenticocloudNuxtModule'
]
}
plugins/kenticocloudNuxtModule.js
export default function ({ store, $deliveryClient }) {
$deliveryClient.config.globalHeaders = (queryConfig) => {
let headers = [];
headers.push({header: 'Authorization', value: 'bearer ' + store.state.token });
return headers;
}
}