diff --git a/app.js b/app.js
new file mode 100644
index 0000000..3fb62c4
--- /dev/null
+++ b/app.js
@@ -0,0 +1,6 @@
+import { createSSRApp } from 'vue'
+
+export const app = createSSRApp({
+ data: () => ({ hello: 'Vue SSR Example' }),
+ template: `
{{ hello }}
`,
+})
diff --git a/client.js b/client.js
new file mode 100644
index 0000000..73c9676
--- /dev/null
+++ b/client.js
@@ -0,0 +1,3 @@
+import { app } from './app.js'
+
+app.mount('#app')
diff --git a/server.js b/server.js
index a5cefe0..ec0280f 100644
--- a/server.js
+++ b/server.js
@@ -1 +1,36 @@
-// TODO 监听3000端口,便于执行test
+import express from 'express'
+import { app } from './app.js'
+import { renderToString } from 'vue/server-renderer'
+
+const server = express()
+server.use(express.static('.'))
+
+server.get('/', (req, res) => {
+ renderToString(app).then((html) => {
+ res.send(`
+
+
+
+ Vue SSR Example
+
+
+
+
+
+ ${html}
+
+
+ `)
+ })
+})
+
+const port = 3000
+server.listen(port, () => {
+ console.log(`started at http://127.0.0.1:${port}`)
+})