Jamstack Docker + Nuxt + Contentful + Vuetify + Netfliy로 포트폴리오 작성 ②
htps : // 이 m/k에 t보 w/이고 ms/89478226이다 7bd365b9cd
하고 싶은 일
Nuxt와 Contentful의 협력 부분
설정 - API kyes
추가 API 키를 클릭하십시오
Space ID 및 Content Delivery API - access token 확인
.env 만들기
.env
CTF_SPACE_ID=ContentfulのspaceID
CTF_CDA_ACCESS_TOKEN=Contentfulのaccess token
환경 파일은 git 저장하지 않도록 ignore 설정
lib/config.js
require('dotenv').config()
function getValidConfig(configEnv, keys) {
let { config, missingKeys } = keys.reduce(
(acc, key) => {
if (!configEnv[key]) {
acc.missingKeys.push(key)
} else {
acc.config[key] = configEnv[key]
}
return acc
},
{ config: {}, missingKeys: [] }
)
if (missingKeys.length) {
throw new Error(`Contentful key is missing : ${missingKeys.join(', ')}`)
}
return config
}
module.exports = {
getConfigForKeys(keys) {
const configEnv = {
CTF_SPACE_ID: process.env.CTF_SPACE_ID,
CTF_CDA_ACCESS_TOKEN: process.env.CTF_CDA_ACCESS_TOKEN
}
return getValidConfig(configEnv, keys)
}
}
키 관리 Config 준비
plugins/contentful.js
const contentful = require('contentful')
const defaultConfig = {
CTF_SPACE_ID: process.env.CTF_SPACE_ID,
CTF_CDA_ACCESS_TOKEN: process.env.CTF_CDA_ACCESS_TOKEN
}
module.exports = {
createClient(config = defaultConfig) {
return contentful.createClient({
space: config.CTF_SPACE_ID,
accessToken: config.CTF_CDA_ACCESS_TOKEN
})
}
}
Contentful을 이용하기 위한 js를 준비
nuxt.config.js
import colors from 'vuetify/es5/util/colors'
import {createClient} from './plugins/contentful.js'
const pkg = require('./package')
const {getConfigForKeys} = require('./lib/config.js')
const ctfConfig = getConfigForKeys([
'CTF_SPACE_ID',
'CTF_CDA_ACCESS_TOKEN'
])
const {createClient} = require('./plugins/contentful')
const cdaClient = createClient(ctfConfig)
export default {
mode: 'universal',
略・・・
}
nuxt.config.js 설정
참고로 한 사이트
Reference
이 문제에 관하여(Jamstack Docker + Nuxt + Contentful + Vuetify + Netfliy로 포트폴리오 작성 ②), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/knitbow/items/970977a7bcc06d160bb9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)