diff --git a/app.js b/app.js
new file mode 100644
index 0000000..5023365
--- /dev/null
+++ b/app.js
@@ -0,0 +1,8 @@
+import { createSSRApp } from "vue";
+
+export function createApp() {
+ return createSSRApp({
+ data: () => ({ count: 1 }),
+ template: `
Vue SSR Example
`,
+ });
+}
diff --git a/client.js b/client.js
new file mode 100644
index 0000000..c4c157e
--- /dev/null
+++ b/client.js
@@ -0,0 +1,3 @@
+import { createApp } from "./app.js";
+
+createApp().mount("#app");
diff --git a/server.js b/server.js
index a5cefe0..431b821 100644
--- a/server.js
+++ b/server.js
@@ -1 +1,35 @@
-// TODO 监听3000端口,便于执行test
+import express from "express";
+import { renderToString } from "vue/server-renderer";
+import { createApp } from "./app.js";
+
+const server = express();
+
+server.get("/", (req, res) => {
+ const app = createApp();
+
+ renderToString(app).then((html) => {
+ res.send(`
+
+
+
+ Vue SSR Example
+
+
+
+
+ ${html}
+
+
+ `);
+ });
+});
+
+server.use(express.static("."));
+const port = 3000;
+server.listen(port, () => console.log(`http://localhost:${port}`));