mirror of https://github.com/nuxt/nuxt.git
feat(nuxt): use correct name for auto-imported components
This commit is contained in:
parent
87dca6a01d
commit
d37cca6610
|
@ -15,6 +15,7 @@ interface LoaderOptions {
|
|||
sourcemap?: boolean
|
||||
transform?: ComponentsOptions['transform']
|
||||
experimentalComponentIslands?: boolean
|
||||
isDev: boolean
|
||||
}
|
||||
|
||||
export const loaderPlugin = createUnplugin((options: LoaderOptions) => {
|
||||
|
@ -74,10 +75,13 @@ export const loaderPlugin = createUnplugin((options: LoaderOptions) => {
|
|||
if (lazy) {
|
||||
imports.add(genImport('vue', [{ name: 'defineAsyncComponent', as: '__defineAsyncComponent' }]))
|
||||
identifier += '_lazy'
|
||||
imports.add(`const ${identifier} = __defineAsyncComponent(${genDynamicImport(component.filePath, { interopDefault: false })}.then(c => c.${component.export ?? 'default'} || c)${isClientOnly ? '.then(c => createClientOnly(c))' : ''})`)
|
||||
imports.add(`const ${identifier} = __defineAsyncComponent(${genDynamicImport(component.filePath, { interopDefault: false })}.then(c => ${options.isDev ? `({...(c.${component.export ?? 'default'} || c), name: ${component.pascalName}})` : `c.${component.export ?? 'default'} || c`})${isClientOnly ? '.then(c => createClientOnly(c))' : ''})`)
|
||||
} else {
|
||||
imports.add(genImport(component.filePath, [{ name: component._raw ? 'default' : component.export, as: identifier }]))
|
||||
|
||||
if (options.isDev) {
|
||||
imports.add(`const ${identifier}_dev = Object.assign(${identifier}, { name: '${component.pascalName}' })`)
|
||||
identifier += '_dev'
|
||||
}
|
||||
if (isClientOnly) {
|
||||
imports.add(`const ${identifier}_wrapped = createClientOnly(${identifier})`)
|
||||
identifier += '_wrapped'
|
||||
|
|
|
@ -230,6 +230,7 @@ export default defineNuxtModule<ComponentsOptions>({
|
|||
mode,
|
||||
transform: typeof nuxt.options.components === 'object' && !Array.isArray(nuxt.options.components) ? nuxt.options.components.transform : undefined,
|
||||
experimentalComponentIslands: !!nuxt.options.experimental.componentIslands,
|
||||
isDev: nuxt.options.dev,
|
||||
}))
|
||||
|
||||
if (nuxt.options.experimental.componentIslands) {
|
||||
|
@ -299,6 +300,7 @@ export default defineNuxtModule<ComponentsOptions>({
|
|||
mode,
|
||||
transform: typeof nuxt.options.components === 'object' && !Array.isArray(nuxt.options.components) ? nuxt.options.components.transform : undefined,
|
||||
experimentalComponentIslands: !!nuxt.options.experimental.componentIslands,
|
||||
isDev: nuxt.options.dev,
|
||||
}))
|
||||
|
||||
if (nuxt.options.experimental.componentIslands) {
|
||||
|
|
Loading…
Reference in New Issue