From 16e51201ad66e889e630bac4142bffe872eb0c32 Mon Sep 17 00:00:00 2001 From: sj-henryxue Date: Mon, 5 Sep 2022 15:38:20 +0800 Subject: [PATCH] feat: --- app.js | 8 ++++++++ client.js | 3 +++ server.js | 36 +++++++++++++++++++++++++++++++++++- 3 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 app.js create mode 100644 client.js 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}`));