Develop/Vue 11

[Vue3] lazy-loading을 활용한 성능개선

lazy-loading이란? 앱의 초기 구동시 모든 컴포넌트의 리소스를 가져오지 않고, 리소스를 컴포넌트 단위로 분리시켜 필요한 것들만 다운로드합니다. 특히 대규모 프로젝트에서 사용하는 컴포넌트가 많아질수록 로드하는 시간이 길어지는데 이를 줄이는데 유용합니다. 사용 방법 router.js에서 component import 하는 부분을 함수로 변경합니다. const routes = [ { path: '/page/home/detail', name: 'DetailPage', meta: { menuAth: 'menu0001' }, component: () => import('../page/home/homeDetail.vue'), //함수화 } ] export default routes 주의점 app.vue 또는..

Develop/Vue 2024.02.07

[Vue.js] Uncaught (in promise) NavigationDuplicated: Avoided redundant navigation to current location: 에러해결

vue를 개발하던 중 이런 에러가 떴다. 검색해보니 해당 오류는 같은 컴포넌트를 한 번 더 호출해서 이미 해당 경로인데 우케 또 일루가냐~~ 라는 에러라고한다. 하지만 가야합니다 원래는 코드는 router-link로 html에서 꽂았는데 여기선 해결방법이 없어보여서 함수로 뺐다. 1. 클릭하는 html 요소에 해당 함수를 박는다. @click="repoCheck(el.name)" @keyup="repoCheck(el.name)" 2. el.name 요소를 전달받은 repoCheck 메소드는 router에 push를 하는 동시에 에러가 나는 것을 catch하여 무시하기로 한다! methods: { repoCheck(rn) { this.$router.push({ name: 'repositoryFile', p..

Develop/Vue 2023.03.02

[Vue.js] Vue2에서 컴포넌트 교체 없이 중첩(연속) route 만들기(슬래쉬가 %2F 16진수로 나오는 에러 해결)

[사건의 발단] Git같은 서비스를 개발중이라 디렉토리 들어갈때마다 n개의 라우트 경로를 생성해야 될 일이 생겼다. 일반 string으로 'testdir1/testdir2/testdir3' 으로 넣으면 'testdir1%2Ftestdir2%2Ftestdir3' ㅇ..이래 ㅋ 구글링해도 %2F에 관해선 거~~~의 안나왔다. 그나마 route 공홈에서 언급을 했는데 이런말을 한다. 심지어 %2F 가 들어가면 Url 복붙해서 다른페이지로 열었을때 HTTP404 Bad Request 떠서 더 안됨 [삽질의 시작] route 공식에서는 중첩라우트 만드는 방법에 대해 이렇게 설명한다. https://router.vuejs-korea.org/ko/guide/essentials/route-matching-syntax...

Develop/Vue 2023.02.22

[Vue.js] Vue2 axios proxy 설정하기

8081에서 spring boot로 띄운 8080서버로 api를 요청해야한다 이때 cors 에러가난다 해결방법은 vue.config.js... devServer: { // historyApiFallback: true, proxy: { '/user*': { target: process.env.VUE_APP_API_URL, changeOrigin: true, }, '/repo*': { target: process.env.VUE_APP_API_URL, changeOrigin: true, }, },user로시작하는 모든 요청에 env파일에 요청한 url 로 들어가게해놓고 응답올때도 마찬가지로 cors를 뚫기 위해 changeOrigin true로 해줬다 api 설정 파일에서function repositories..

Develop/Vue 2023.02.14

[Vue.js] 자바스크립트 Assignment to property of function parameter 'res'.

함수의 매개변수에 재선언을 하지 말라는 의미 함수의 매개변수가 참조형인경우 같은 주소값을 가지고 있기때문에 참조형의 프로퍼티를 수정하면 원본이 변하게 됨 이는 개발자가 의도치 않은 side Effect를 만들 가능성을 높힘 바꾼 코드 const sdata = res.data; sdata.created_date = sdata.created_date.replace('T', ' '); sdata.created_date = sdata.created_date.replace(-1, -4); this.data = sdata; console.log(sdata); [참고] https://velog.io/@dregonc/%EB%A7%A4%EA%B0%9C%EB%B3%80%EC%88%98%EB%A1%9C-%EB%B0%9B%E..

Develop/Vue 2023.01.10

[Vue.js] 빠르고 쉽게 axios 로 가져온 데이터 v-for를 사용해 Table에 넣기

table 구조 No 아이디 사용자 주소 이메일 권한 가입일자 강제탈퇴 {{idx+1}} {{ row.id }} {{ row.name }} {{ row.address }} {{ row.email }} {{ row.role }} {{ row.created_date }} 탈퇴 - 중요한 포인트 - (row, idx) in [불러온데이터] - key는 필수 - 여기서 row는 행이고 지정된 값이니 임의로 바꾸지 말 것 - idx는 데이터 외의 테이블의 인덱스값이다. {{idx+1}} 부분을 보면 어떤 느낌인지 알거임 script 부분 export default { name: 'AdminView', components: { }, computed() { }, mounted() { this.getUsers(); }..

Develop/Vue 2023.01.10