我是 Nuxt 新手,我尝试了解 SSR 和 CSR 中的插件。
我遵循文档中的 helloWorld 测试。
与 CSR 完美配合(/plugins/hello.ts 或 /plugins/hello.client.ts)
但是使用SSR(/plugins/hello.server.ts)我有:
[GET] 500 $setup.$hello 不是函数
有人可以解释我为什么它不适用于服务器端渲染吗?
如果我删除 .vue 文件中的设置,则会出现此错误:
500 - [nuxt] 需要访问 Nuxt 实例的可组合项在插件、Nuxt 挂钩、Nuxt 中间件或 Vue 设置函数之外调用。
插件/hello.(客户端/服务器/'').ts
export default defineNuxtPlugin(() => {
return {
provide: {
hello: (msg: string) => `Hello ${msg}!`
}
}
})
pages/hello.vue
<script setup lang="ts">
const { $hello } = useNuxtApp()
</script>
<template>
<div>
{{ $hello('world') }}
</div>
</template>