vue 단일 페이지 응용 프로그램이 페이지에 들어가서 모든 js를 불러오는 문제 해결

보통 인덱스에 있어요.js에는 이렇게 도입된 구성 요소가 있습니다.

import from '@/pages/my'
import Cart from '@/pages/cart'
import Order from '@/pages/order'
import TMap from '@/pages/map'
import New from '@/pages/new'
이렇게 바꿨으면 좋겠어요.

const My = r => require.ensure([], () => r(require('@/pages/my')), 'my')
const Cart = r => require.ensure([], () => r(require('@/pages/cart')), 'cart')
const Order = r => require.ensure([], () => r(require('@/pages/order')), 'order')
const TMap = r => require.ensure([], () => r(require('@/pages/map')), 'map')
const New = r => require.ensure([], () => r(require('@/pages/new')), 'new')
추가 정보: vue -- router 라우팅 오류, NavigationDuplicated
vue-router≥3.0 버전 리셋 형식과promiseapi 형식으로 변경되었습니다. 되돌아오는 것은 promise입니다. 만약에 루트 주소가 동일하게 바뀌고 오류가 포착되지 않으면 컨트롤러는 그림과 같은 경고가 나타날 수 있습니다(주:3.0 이하 버전에서는 다음과 같은 경고가 나오지 않습니다!!!, 루트 리셋 문제로 인해...)
시나리오 1:
vue-router3.0 다음 버전 설치: 3.0 이상 버전을 마운트 해제한 다음 이전 버전 npm install @vue-router2.8.0 -S 설치
시나리오 2:
루트에서 같은 주소로 이동하기 위해catch를 추가하여 이상을 포착합니다:this.$router.push('/location').catch(err => { console.log(err) })
시나리오 3:
메인js 다음에 전역 함수를 등록하면 됩니다

import Router from 'vue-router'

const originalPush = Router.prototype.push
Router.prototype.push = function push(location) {
return originalPush.call(this, location).catch(err => err)
}
주: 공식 vue-router 새 버전 루트 기본 리셋은promise입니다. 원래 버전의 루트 리셋은 폐기됩니다!!!
이상의 이 해결 vue 단일 페이지 응용 프로그램 진입 페이지에 모든 js를 불러오는 문제는 바로 편집자가 여러분에게 공유한 모든 내용입니다. 여러분께 참고가 되고 저희를 많이 사랑해 주시기 바랍니다.

좋은 웹페이지 즐겨찾기