티스토리 뷰
저번에는 프록시 설정까지 진행했다.
이번에는 화면에 보여줄 문구와, 이미지를 프론트에서 올리는 게 아닌 s3서버 url로 뿌려주기 위해
Json 파일을 백엔드 프로젝트에서 생성했고, 프론트에서 API 호출을 했을 때 데이터를 가져와 Vuex 스토어에
값을 저장하도록 했다.
import skils from 'skils.json'
router.get('/', (req, res, next) => {
res.send(skils);
});
// Node.js 일부 코드
지정한 주소에 get을 호출하면 json 파일을 내려주도록 코드를 작성했고,
프론트에서는 Axios를 통해 API를 호출 할 수 있도록 설정해줬다.
그 전에 미리 스토어도 사용할 수 있도록 Vuex 설치와 셋팅은 모두 해둔 상태다.
언제나 처음 셋팅하는 게 제일 힘든 것 같다..
// Vue 일부 모듈 (Store)의 코드 일부분
export const ACTIONS_SKILS = {
GET_SKILS: 'GET_SKILS',
}
const _actions = {
async [ACTIONS_SKILS.GET_SKILS]({ commit }) {
const req = await apiFunc(getSkils);
if (req.error) {
console.log('get skils error', req.error)
return req;
}
const data = _get(req, 'result.data');
commit(MUTATIONS_SKILS.SET_SKILS, data);
}
};
apiFunc이라는 Promise Function을 받아 Data / Error를 리턴해주는 Util 함수를 하나 만들어뒀고,
그 함수를 이용해 API 콜을 Vuex Actions에서 하게 해준다.
commit을 통해 state에 값을 저장하도록 했다.
Frontend에서 env, babel, vuex, axios 등의 어느정도 설정은 얼추 다 된 것 같다. 이제 UI/UX를 어떻게 짤 것인지 고민을 해봐야겠다.
실무에서는 디자이너의 디자인 산출물만 보고 작업하다가, 직접 UI/UX를 고민해보려니...벌써부터 머리가 아프려고 한다.
'포트폴리오 제작기' 카테고리의 다른 글
포트폴리오 제작기 3편 (0) | 2020.10.05 |
---|---|
포트폴리오 제작기 1편 (0) | 2020.09.11 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- pinia
- Front
- e2e
- react native
- Store
- react-query
- react query
- 포트폴리오
- composition
- vuex
- 퍼블리셔
- CORS
- 타입스크립트
- Redux
- react
- vuetify
- 호이스팅
- backend
- NUXT
- vue
- Cypress
- vue3
- frontend
- 자바스크립트
- Core Components
- vue.js
- three.js
- pagination
- typescript
- JS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
글 보관함