vue-服务端渲染6:client/server-entry.js

385 阅读1分钟

import createApp from './create-app'

export default context => {
  return new Promise((resolve, reject) => {   //异步操作,让server-render知道什么时候结束
    const {app, router} = createApp()
    router.push(context.url)       //**入口**//在服务端,给路由推一条记录,匹配到要调用的组件
    router.onReady(() => {
      const matchedComponents = router.getMatchedComponents()//根据url匹配到组件,再做些操作
      if (!matchedComponents.length) {
        return reject(new Error('no component matched'))
      }
      context.meta = app.$meta()  //vue-meta知识
      resolve(app)
    })
  })
}