diff --git a/app.js b/app.js
new file mode 100644
index 0000000..9dfa831
--- /dev/null
+++ b/app.js
@@ -0,0 +1,10 @@
+import {createSSRApp} from 'vue'
+
+export const createApp = () => {
+ return createSSRApp({
+ data: () => ({
+ content: 'Vue SSR Example'
+ }),
+ template: `
{{content}}
`
+ })
+}
\ No newline at end of file
diff --git a/client.js b/client.js
new file mode 100644
index 0000000..e081caa
--- /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..2234c04 100644
--- a/server.js
+++ b/server.js
@@ -1 +1,37 @@
// 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 page
+
+
+
+
+ ${html}
+
+
+ `)
+ })
+})
+
+server.use(express.static('.'));
+
+server.listen(3000, () => {
+ console.log("服务已启动");
+})
\ No newline at end of file