From 108be949cd814ec8fc6214c6cdfa440c0dfd7e13 Mon Sep 17 00:00:00 2001 From: Evan You Date: Thu, 11 Feb 2021 17:26:37 -0500 Subject: [PATCH] fix(ssr): handle virtual modules during ssr fix #1980 --- .../ssr-vue/__tests__/ssr-vue.spec.ts | 4 +++ .../playground/ssr-vue/src/pages/Home.vue | 2 ++ packages/playground/ssr-vue/vite.config.js | 18 ++++++++++++- .../vite/src/node/plugins/importAnalysis.ts | 27 +++++++++---------- .../src/node/server/middlewares/transform.ts | 11 +++----- packages/vite/src/node/ssr/ssrModuleLoader.ts | 6 +++-- packages/vite/src/node/utils.ts | 8 +++++- 7 files changed, 51 insertions(+), 25 deletions(-) diff --git a/packages/playground/ssr-vue/__tests__/ssr-vue.spec.ts b/packages/playground/ssr-vue/__tests__/ssr-vue.spec.ts index 24223b96c4967d..63a6034cc7b36d 100644 --- a/packages/playground/ssr-vue/__tests__/ssr-vue.spec.ts +++ b/packages/playground/ssr-vue/__tests__/ssr-vue.spec.ts @@ -93,6 +93,10 @@ test('jsx', async () => { expect(await page.textContent('.jsx')).toMatch('from JSX') }) +test('virtual module', async () => { + expect(await page.textContent('.virtual')).toMatch('hi') +}) + test('hydration', async () => { expect(await page.textContent('button')).toMatch('0') await page.click('button') diff --git a/packages/playground/ssr-vue/src/pages/Home.vue b/packages/playground/ssr-vue/src/pages/Home.vue index 29e93f3e3cde16..35260df7dae30f 100644 --- a/packages/playground/ssr-vue/src/pages/Home.vue +++ b/packages/playground/ssr-vue/src/pages/Home.vue @@ -5,9 +5,11 @@

+

msg from virtual module: {{ foo.msg }}