From 101ef20c344bab78327627d50e60c6698d72dfc0 Mon Sep 17 00:00:00 2001 From: pooya parsa Date: Tue, 12 Oct 2021 10:39:06 +0200 Subject: [PATCH] fix(vite): resolve vue aliases (#734) --- packages/nuxt3/src/meta/module.ts | 2 +- packages/vite/src/server.ts | 24 +++++++++++++----------- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/packages/nuxt3/src/meta/module.ts b/packages/nuxt3/src/meta/module.ts index b58d435cf8..75be459d30 100644 --- a/packages/nuxt3/src/meta/module.ts +++ b/packages/nuxt3/src/meta/module.ts @@ -14,7 +14,7 @@ export default defineNuxtModule({ const runtimeDir = nuxt.options.alias['#meta'] || resolve(distDir, 'meta/runtime') // Transpile @nuxt/meta and @vueuse/head - nuxt.options.build.transpile.push('nuxt3', '@vueuse/head') + nuxt.options.build.transpile.push('@vueuse/head') // Add #meta alias nuxt.options.alias['#meta'] = runtimeDir diff --git a/packages/vite/src/server.ts b/packages/vite/src/server.ts index c77b093de6..4990012462 100644 --- a/packages/vite/src/server.ts +++ b/packages/vite/src/server.ts @@ -4,12 +4,14 @@ import vuePlugin from '@vitejs/plugin-vue' import fse from 'fs-extra' import pDebounce from 'p-debounce' import consola from 'consola' +import { resolveModule } from '@nuxt/kit' import { ViteBuildContext, ViteOptions } from './vite' import { wpfs } from './utils/wpfs' import { cacheDirPlugin } from './plugins/cache-dir' import { bundleRequest } from './dev-bundler' export async function buildServer (ctx: ViteBuildContext) { + const _resolve = id => resolveModule(id, { paths: ctx.nuxt.options.modulesDir }) const serverConfig: vite.InlineConfig = vite.mergeConfig(ctx.config, { define: { 'process.server': true, @@ -24,25 +26,25 @@ export async function buildServer (ctx: ViteBuildContext) { alias: { '#build/plugins': resolve(ctx.nuxt.options.buildDir, 'plugins/server'), // Alias vue - 'vue/server-renderer': 'vue/server-renderer', - 'vue/compiler-sfc': 'vue/compiler-sfc', - '@vue/reactivity': `@vue/reactivity/dist/reactivity.cjs${ctx.nuxt.options.dev ? '' : '.prod'}.js`, - '@vue/shared': `@vue/shared/dist/shared.cjs${ctx.nuxt.options.dev ? '' : '.prod'}.js`, - 'vue-router': `vue-router/dist/vue-router.cjs${ctx.nuxt.options.dev ? '' : '.prod'}.js`, - vue: `vue/dist/vue.cjs${ctx.nuxt.options.dev ? '' : '.prod'}.js` + 'vue/server-renderer': _resolve('vue/server-renderer'), + 'vue/compiler-sfc': _resolve('vue/compiler-sfc'), + '@vue/reactivity': _resolve(`@vue/reactivity/dist/reactivity.cjs${ctx.nuxt.options.dev ? '' : '.prod'}.js`), + '@vue/shared': _resolve(`@vue/shared/dist/shared.cjs${ctx.nuxt.options.dev ? '' : '.prod'}.js`), + 'vue-router': _resolve(`vue-router/dist/vue-router.cjs${ctx.nuxt.options.dev ? '' : '.prod'}.js`), + vue: _resolve(`vue/dist/vue.cjs${ctx.nuxt.options.dev ? '' : '.prod'}.js`) } }, ssr: { - external: [ - 'axios' - ], + external: [], noExternal: [ ...ctx.nuxt.options.build.transpile.filter(i => typeof i === 'string'), '.vue', 'plugin-vue:', '#app', - 'nuxt3', - '@nuxt/nitro' + 'nuxt3/dist', + 'nuxt3/src', + '@nuxt/nitro/dist', + '@nuxt/nitro/src' ] }, build: {