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 }}