cloudfunction.js 765 B

12345678910111213141516171819202122232425
  1. 'use strict'
  2. const fs = require('fs')
  3. const path = require('path')
  4. const template = fs.readFileSync(
  5. path.join(__dirname, './server/index.html'),
  6. 'utf-8'
  7. )
  8. const manifest = require('./server/ssr-manifest.json')
  9. const render = require('./server/entry-server.js').render
  10. exports.main = async (event) => {
  11. const [appHtml, preloadLinks, appContext] = await render(event.path, manifest)
  12. const html = template
  13. .replace(`<!--preload-links-->`, preloadLinks)
  14. .replace(`<!--app-html-->`, appHtml)
  15. .replace(`<!--app-context-->`, appContext)
  16. return {
  17. mpserverlessComposedResponse: true, // 使用阿里云返回集成响应是需要此字段为true
  18. statusCode: 200,
  19. headers: {
  20. 'content-type': 'text/html',
  21. },
  22. body: html,
  23. }
  24. }