Docker(CentOS 7) + Nginx + Spring Boot + Vue.js 배포하기 - ③

Docker(CentOS 7) + Nginx + Spring Boot + Vue.js 배포하기 - ③

api / index.js

import axios from "axios"; const instance = axios.create({ baseURL: "/api/" }) function getMembers() { return instance.get("members") } function registerUser(userData) { return instance.post("members", userData); } export { getMembers, registerUser }

components / common / AppHeader.vue

Signup export default { }

components / MemberListButton.vue

member list {{ member }} import { getMembers } from '@/api'; export default { data() { return { members: '' } }, methods: { async getMemberList() { const { data } = await getMembers(); this.members = data.data; } } }

components / SignupForm.vue

email: password: name: {{ logMessage }} signup import {registerUser} from "@/api"; export default { data() { return { email: '', password: '', name: '', logMessage: '', } }, methods: { async submitForm() { const userData = { email: this.email, password: this.password, name: this.name }; const { data } = await registerUser(userData); this.logMessage = `${ data.name } 님이 가입되었습니다.`; this.initForm(); }, initForm() { this.email = ''; this.password = ''; this.name = ''; }, }, }

routes / index.js

import Vue from 'vue'; import VueRouter from 'vue-router'; Vue.use(VueRouter); // Vue.use Plugin 을 사용하기 위한 초기화 코드 export default new VueRouter({ mode: 'history', routes: [ { path: '/', }, { path: '/signup', component: () => import('@/views/SignupPage.vue'), }, { path: '*', component: () => import('@/views/NotFoundPage.vue') } ], });

views / NotFoundPage.vue

Page is not found export default { }

views / SignupPage.vue

회원 가입 페이지 import SignupForm from '@/components/SignupForm.vue'; import MemberListButton from '@/components/MemberListButton.vue'; export default { components: { SignupForm, MemberListButton } }

App.vue

import AppHeader from '@/components/common/AppHeader.vue'; export default { name: 'App', components: { AppHeader } }

main.js

import Vue from 'vue' import App from './App.vue' import router from '@/routes/index' Vue.config.productionTip = false new Vue({ render: h => h(App), router }).$mount('#app')

vue.config.js

from http://wangtak.tistory.com/15 by ccl(A) rewrite - 2021-12-27 22:01:29