micoCMSを使った実装
基本的には公式のブログの通りに実装すればOKです。
https://microcms.io/blog/nuxt-secure-api-key/microcms.io
.env
API_KEY=XXXXXXXXXXXX
nuxt.config.js
require('dotenv').config(); const { API_KEY } = process.env; const isDevelop = process.env.NODE_ENV !== 'production'; export default { target: 'static', [isDevelop ? 'publicRuntimeConfig' : 'privateRuntimeConfig']: { apiKey: API_KEY } };
pages/index.vue
import axios from 'axios'; import { Component, Vue } from 'nuxt-property-decorator'; @Component({ components: {}, async asyncData({ $config }) { const url = 'https://XXXX.microcms.io/api/v1/XXXX'; const { data } = await axios.get(url, { headers: { 'X-API-KEY': $config.apiKey } }); return data; } }) export default class IndexPage extends Vue { contents: any[]; }
こんな感じで実装しましょう。
Netrify側の設定
こちらも公式のドキュメントを参考に実装すればOKです。
Gitと紐づけるときに設定するのであれば、
こんな感じで設定できます。
また、既にサイトを作成したあとであれば、/settings/deploys#environment-variablesから、
こんな感じで設定できます。