diff --git a/app.js b/app.js
new file mode 100644
index 0000000..51cc397
--- /dev/null
+++ b/app.js
@@ -0,0 +1,11 @@
+import { createSSRApp } from 'vue'
+
+export function createApp() {
+ return createSSRApp({
+ data: () => ({
+ content: 'Vue SSR Example'
+ }),
+ template: `
{{ content }}
`
+ })
+}
+
diff --git a/client.js b/client.js
new file mode 100644
index 0000000..92aa98c
--- /dev/null
+++ b/client.js
@@ -0,0 +1,3 @@
+import { createApp } from "./app.js";
+
+createApp().mount('#app')
\ No newline at end of file
diff --git a/server.js b/server.js
index a5cefe0..43a3cf0 100644
--- a/server.js
+++ b/server.js
@@ -1 +1,30 @@
// TODO 监听3000端口,便于执行test
+import express from 'express'
+import { createApp } from './app.js'
+import { renderToString } from 'vue/server-renderer'
+
+const server = express()
+
+server.get('/', (req, res) => {
+ const app = createApp()
+
+ renderToString(app).then((html) => {
+ res.send(`
+
+
+
+ Vue SSR Example
+
+
+
+ ${html}
+
+
+ `)
+ })
+})
+
+server.use(express.static('.'))
+server.listen(3000, () => {
+ console.log('服务启动了')
+})
\ No newline at end of file