我在Nuxt 3上有一个网络,正在从Nuxt 2迁移。 我们还有一份附录,处理数据库的所有数据检索。 在开始网络服务器时,从该软件中可以发现一个有某种环境(启动所需资金和一些固定变量作为操作时间段)的“焦耳”物体。 在每个部署阶段,这些数值可能有所不同,只有在更新了APIC和App(两者都需要重新启动)。 我不想在用户每当进入时就把这一数据推向一种假想,因为这一呼吁总是产生同样的结果。 目前的“Nuxt 2”会议认为:
// nuxt.config.js (Nuxt 2)
export default async () => {
const result = await someAsyncCall()
return {
// actual config, use result in runtime parameters here, exposed under this.$config
}
}
根据移民指南() 这种工作方式现已在Nuxt 3中被解释,它建议使用Nuxt hooks,但我找不到实现这一目标的正确途径。 目标是一开始即获得这一json数据,并提供这一数据供各地使用。 我尝试了以下做法:
// This is the Nuxt 3 equivalent, but it s deprecated and for some reason it calls the data twice:
// nuxt.config.ts
export default async () => {
const result = await someAsyncCall()
return defineNuxtConfig({
runtimeConfig:{
// use result here
}
})
}
// This doesn t update the runtime config
//nuxt.config.ts
export default defineNuxtConfig({
runtimeConfig: {
public: {
myparam:
}
},
hooks: {
ready: async (nuxt) => { // not sure if ready is available at deploy since it s a build hook anyway
console.log( READY )
const settings = await getRuntimeConfig()
nuxt.options.runtimeConfig.public.myparam = settings
}
},
})
// It s not allowed to import from nuxt.config.ts so this doesn t work.
// nuxt.config.ts
export const settings = {}
export default defineNuxtConfig({
hooks: {
ready: async (nuxt) => {
console.log( READY )
const _settings = await getRuntimeConfig()
settings = _settings
}
},
})
// myPlugin.ts
import { settings } from nuxt.config // not allowed
export default defineNuxtPlugin(() => {
return { provide: { settings } }
})