asyncData, fetch, plugins, middleware and nuxtServerInit. 都可以访问 context对象

    1. function (context) {
    2. // Universal keys
    3. const {
    4. app,
    5. store,
    6. route,
    7. params, // Alias of route.params.
    8. query, // Alias of route.query.
    9. env,
    10. isDev,
    11. isHMR,
    12. /* 重定向
    13. redirect(302, '/login')
    14. redirect({ name: 'slug', params: { slug: mySlug } })
    15. redirect('https://vuejs.org')
    16. */
    17. redirect,
    18. error, // error(params)。本params应具有的特性statusCode和message。
    19. $config
    20. } = context
    21. // Server-side
    22. if (process.server) {
    23. // 使用此方法更新__NUXT__客户端呈现的变量,使用fn调用(可以是异步的){ Components, nuxtState },请参见示例。
    24. const { req, res, beforeNuxtRender } = context
    25. }
    26. // Client-side
    27. if (process.client) {
    28. // nuxtState Nuxt 状态,对于用于beforeNuxtRender在水化之前在客户端获取 nuxt 状态的插件很有用。仅在universal模式下可用。
    29. // from https://router.vuejs.org/api/#the-route-object
    30. const { from, nuxtState } = context
    31. }
    32. }
    1. <!-- beforeNuxtRender 示例 -->
    2. <template>
    3. <h1>Special state in `window.__NUXT__`</h1>
    4. </template>
    5. <script>
    6. export default {
    7. fetch ({ isServer, beforeNuxtRender }) {
    8. if (isServer) {
    9. beforeNuxtRender(({ nuxtState }) => {
    10. nuxtState.test = true
    11. })
    12. }
    13. }
    14. }
    15. </script>