inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Vue.js 제대로 배워볼래?(Vue.js 프로젝트 투입 일주일 전)

Lazy Load (비동기 컴포넌트) 구성하기

vue prefetch가 정상적으로 작동하는게 맞는지 모르겠습니다.

해결된 질문

398

dl_lean_fe

작성한 질문수 2

0

안녕하세요!

강의 수강하면서 코드를 계속 따라서 작성했는데, 

prefetch가 정상적으로 작동하는게 맞는지 잘 모르겠어서 이렇게 gif로 화면 한 번 올려봅니다.

/router/index.js

import { createRouter, createWebHistory } from 'vue-router'
import Home from '../views/Home.vue'
// import Contact from '../views/Contact.vue'
// import About from '../views/About.vue'

const routes = [
  {
    path: '/',
    name: 'Home',
    component: Home
  },
  // {
  //   path: '/About',
  //   name: 'About',
  //   component: About
  // },
  {
    path: '/about',
    name: 'About',
    // route level code-splitting
    // this generates a separate chunk (about.[hash].js) for this route
    // which is lazy-loaded when the route is visited.
    component: () => import(/* webpackChunkName: "about" */ '../views/About.vue')
  },
  {
    path: '/contact',
    name: 'Contact',
    // component: Contact

    component: () => import(/* webpackChunkName: "contact", webpackPrefetch:true*/ '../views/Contact.vue')
  },
]

const router = createRouter({
  history: createWebHistory(process.env.BASE_URL),
  routes
})

export default router

vue.config.js

module.exports = {
    chainWebpack: config => {
      config.plugins.delete('prefetch');
    }
}

코드도 위와 같이 작성을 했는데 , 어떤 부분이 문제인지 잘 모르겠습니다. ㅠ

vuex vuejs

답변 1

0

ShinS

안녕하세요 같이 공부하는 학생입니다.

결과만 바로 말씀드리면 코드상에는 문제가 없어보이는데 아마 로컬서버를 껏다가 켜주셔야할 것 같습니다. 모듈을 바꾸게되면 바로 적용이 안되거든요.

더불어 강의 내용을 잘 이해를 못하신거같아서 얘기하자면

Home 같은 경우는 웹팩으로 하나로 묶여서 한번에 로드되고요. About의 경우 import 를 사용했잖아요? 기본적으로 prefetch 기능이 탑재되어있고, 웹팩으로 한번에 묶지 않고 분할하여 메모리에 로드합니다. 그후에 클릭시 캐시가되요

사실상 위 두개는 단순하게 생각하면 웹팩으로  인해 같이 묶이냐 안 묶이냐 분할의 차이일뿐입니다

 모듈에 config 추가해서 기본적으로 frepetch를 꺼주시면 묶이지도 않고 로드도 하지 않습니다.

하지만 import 옵션에 주석으로 frepetch 기능을 켜주시면 다시 분할하여 로드합니다(맨 처음 기능 그대로 적용)

따라서 현재 보여주신 GIF 상에서는 처음 로딩시 About 은 보이면 안 되는게 맞는것 같습니다. 나머지는 다 정상으로 보입니다.

0

dl_lean_fe

답변 남겨주셔서 감사합니다.

말씀 주신 것처럼 저 때 서버를 다시 재실행을 시키지 않아서 아마 제대로 반영되지 않았다보니 그 상태에서 화면을 확인하면서 prefeche에 대해서 좀 혼란이 있었던 것 같습니다.

친절하게 개념에 대해서 정리해주시고, 귀한 시간 내주셔서 답변 남겨주셔서 감사합니다. 

좋은 하루 보내세요 :) 

google login 를 따라하다가 오류 발생

0

937

1

Expected indentation of 2 spaces but found 4 오류

0

874

1

카카오 로그인 에러가 뜨세요

0

434

1

Multi-word질문드립니다.

0

235

2

설치 이후 npm run serve 화면 안나옴

0

651

1

vue cli 문제

0

361

2

요청드립니다.

0

160

0

eslint 에러발생

0

1384

1

main.js 질문드립니다.

0

228

1

vuex-persistedstate 는 동작 자체를 안하네요?

0

372

1

15강.조회화면 저장실습 - params안됨

0

286

1

array 넘겨주기

0

164

0

유튜브 4시간 강의와는 어떤 차이가 있을까요?

0

286

1

prefetch기능

0

738

1

테이블 list 랜더링 되지 않습니다.

0

255

1

펑션을 한 depth 더 들어가면 $호출이 안되는 이유가 뭘까요?

0

288

2

name 값이 없는 경우 오류

0

209

1

vue config 파일 문의

0

346

1

실무 레벨에서 공통코드(기준정보)는 어떻게 구현 할까요?

0

328

1

강의자료가 따로 있나요?

0

362

1

computed 대신 직접 this.$store.state.user 사용은 안되나요?

0

171

0

lazy-load의 성능에 대해서 질문이 있습니다.

0

205

0

Prefetch 관련 질문 드립니다.

0

143

1

저는 왜 하나의 단어가 지정이 안될까요?

0

314

1