nuxt-musixmatch
Version:
NuxJS module musixmatch api
149 lines (108 loc) • 3.62 kB
Markdown
[![npm version][npm-version-src]][npm-version-href]
[![npm downloads][npm-downloads-src]][npm-downloads-href]
[![License][license-src]][license-href]
NuxtJS module musixmatch API
The simplified NuxtJS module for request Musixmatch API support. Inspire by https://github.com/c0b41/musixmatch.
Request are pretty awesome, but I found myself using it into NuxtJS
Also check out [here](https://github.com/c0b41/musixmatch#methods) to using the methods that are very similar to request
[📖 **Release Notes**](./CHANGELOG.md)
1. Add `musixmatch` dependency to your project
```bash
yarn add musixmatch
```
2. Add `musixmatch` to the `modules` section of `nuxt.config.js`
```js
{
modules: [
// Simple usage
'musixmatch',
// With options
['musixmatch', { /* module options */ }]
]
}
```
```js
{
modules: [
// Simple usage
'musixmatch'
],
// With options
musixmatch: {
//Required
apikey: '<Your Musixmatch API Key>'
//Optional default 'https://api.musixmatch.com/ws/1.1/'
baseURL: '<Musixmatch API version root URL>'
//optional default is json
format: 'json'
//Optional if you have problem with CORS default is 'https://cors-anywhere.herokuapp.com/'
//if you want to remove default cors-anywhere you should set value to be ''
corsURL: ''
//You can easily integrate to NuxtJS Proxy Module.
//This is highly recommended to prevent CORS and production/deployment problems.
//See below simple configuration
proxyURL: ''
}
}
```
Now you can use all Musixmatch services with `$this.musixmatch` and followed by method
```js
this.$musixmatch.chartArtists({ page: 1, page_size: 3, country: 'us'}).then(function (res) {
if (res != null) {
console.log(res.artist_list)
}
})
```
For more information how to use Methods and Params with example... please refer to https://github.com/c0b41/musixmatch#methods
1. Using `https://cors-anywhere.herokuapp.com/` to prevent CORS problems
```js
modules: [
'nuxt-musixmatch'
],
musixmatch: {
apikey: '<API Key>',
corsURL: 'https://cors-anywhere.herokuapp.com/'
},
```
2. OR integrate to `@nuxtjs/axios` and Proxy Module to prevent CORS problems
```js
modules: [
'@nuxtjs/axios',
'nuxt-musixmatch'
],
musixmatch: {
apikey: '<API Key>',
proxyURL: '/api/'
},
axios: {
proxy: true
},
proxy: {
'/api/': {
target: 'https://api.musixmatch.com/ws/1.1/',
pathRewrite: { '^/api/': '' }
}
},
```
[](./LICENSE)
Copyright (c) IMAN
https://www.axfon.com
https://atel.us
<!-- Badges -->
[]: https://img.shields.io/npm/v/musixmatch/latest.svg?style=flat-square
[]: https://npmjs.com/package/nuxt-musixmatch
[]: https://img.shields.io/npm/dt/musixmatch.svg?style=flat-square
[]: https://npmjs.com/package/nuxt-musixmatch
[]: https://img.shields.io/circleci/project/github/https://github.com.svg?style=flat-square
[]: https://circleci.com/gh/https://github.com
[]: https://img.shields.io/codecov/c/github/https://github.com.svg?style=flat-square
[]: https://codecov.io/gh/https://github.com
[]: https://img.shields.io/npm/l/musixmatch.svg?style=flat-square
[]: https://npmjs.com/package/nuxt-musixmatch