mirror of
https://github.com/nuxt/nuxt.git
synced 2025-01-28 22:32:42 +00:00
refactor(router): reduce duplicate code in routes.js (#4121)
This commit is contained in:
parent
411e89e52c
commit
a359424741
@ -1,5 +1,6 @@
|
||||
import Vue from 'vue'
|
||||
import Router from 'vue-router'
|
||||
import { interopDefault } from './utils';
|
||||
|
||||
<% function recursiveRoutes(routes, tab, components) {
|
||||
let res = ''
|
||||
@ -25,14 +26,14 @@ import Router from 'vue-router'
|
||||
}
|
||||
const _components = []
|
||||
const _routes = recursiveRoutes(router.routes, '\t\t', _components)
|
||||
%><%= uniqBy(_components, '_name').map((route) => {
|
||||
%> <%= uniqBy(_components, '_name').map((route) => {
|
||||
if (!route.component) return ''
|
||||
const path = relativeToBuild(route.component)
|
||||
const chunkName = wChunk(route.chunkName)
|
||||
const name = route._name
|
||||
|
||||
if (splitChunks.pages) {
|
||||
return `const ${name} = () => import('${path}' /* webpackChunkName: "${chunkName}" */).then(m => m.default || m)`
|
||||
return `const ${name} = () => interopDefault(import('${path}' /* webpackChunkName: "${chunkName}" */))`
|
||||
} else {
|
||||
return `import ${name} from '${path}'`
|
||||
}
|
||||
|
@ -19,6 +19,10 @@ export function globalHandleError(error) {
|
||||
}
|
||||
}
|
||||
|
||||
export function interopDefault(promise) {
|
||||
return promise.then(m => m.default || m);
|
||||
}
|
||||
|
||||
export function applyAsyncData(Component, asyncData) {
|
||||
const ComponentData = Component.options.data || noopData
|
||||
// Prevent calling this method for each request on SSR context
|
||||
|
Loading…
Reference in New Issue
Block a user