nuxt-unleash v1.0.4
nuxt-unleash
Nuxt.js module to use Unleash toggle feature services
Features
Use $unleash to access and handle your Unleash feature flags in client side,
or context.app.unleash to access Unleash feature flags from server side.
Setup
- Add
nuxt-unleashdependency to your project
yarn add nuxt-unleash- Add
nuxt-unleashto themodulessection ofnuxt.config.js
export default {
modules: [
// Simple usage
'nuxt-unleash',
// With options
['nuxt-unleash', { /* module options */ }]
]
}:warning: If you are using Nuxt < v2.9 you have to install the module as a dependency (No --dev or --save-dev flags) and use modules section in nuxt.config.js instead of buildModules.
Using top level options
export default {
buildModules: [
'nuxt-unleash'
],
unleash: {
/* module options */
}
}Options
url
- Type:
String - Required:
true
Unleash API URL
instanceId
- Type:
String - Required:
true
Unleash API Instance ID
environment
- Type:
String - Required:
false
Name of the environment your Unleash application runs in. See the example configuration.
config
The module allows some configuration parameters.
If you want to default to the value of a feature that doesn't exist, use:
enabledDefault: true
On the other hand, to set a header as the source of the ip, you can add:
headerIP: 'CF-Connection-IP'
Usage
Client Side
To access the module in side client you just have to call this.$unleash and method you want to use.
<template>
<h1>{{ value ? 'enabled' : 'disabled' }}</h1>
</template>
<script>
export default {
mounted() {
this.value = this.$unleash.isEnabled('new-feature')
}
}
</script>Sever Side
To access the module in side server you just have to call ctx.app.unleash and method you want to use.
asyncData(ctx) {
const value = ctx.app.unleash.isEnabled('new-feature')
if(value) {
ctx.redirect('/new-feature-page')
}
}Development
- Clone this repository
- Install dependencies using
yarn installornpm install - Start development server using
npm run dev
License
Copyright (c) Conejerock