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}`));