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