如何在 nuxt.config.ts 中为 Cloudinary 模块使用 privateRuntimeConfig .env?
Posted
技术标签:
【中文标题】如何在 nuxt.config.ts 中为 Cloudinary 模块使用 privateRuntimeConfig .env?【英文标题】:How to use privateRuntimeConfig .env inside nuxt.config.ts for the Cloudinary module? 【发布时间】:2021-12-18 22:53:27 【问题描述】:这可能是一个非常愚蠢的问题,但是在尝试在我的 Nuxt 应用程序上设置 Cloudinary 时,我无法弄清楚如何利用 privateRuntimeConfig
将必要的密钥传递给 Cloudinary 插件,因为这一切都在发生里面nuxt.config.ts
。
意思是,在我使用privateRuntimeConfig
的同一个地方,在nuxt.config.ts
内部,也是我需要将它们传递给Cloudinary 插件配置的地方,但这不起作用。那我该怎么办呢?
export default defineNuxtConfig(
privateRuntimeConfig:
cloudinary:
cloudName: process.env.CLOUDINARY_CLOUD_NAME,
apiKey: process.env.CLOUDINARY_API_KEY,
apiSecret: process.env.CLOUDINARY_API_SECRET
,
cloudinary:
cloudName: '', // ??
apiKey: '', // ??
apiSecret: '', // ??
)
我觉得有一个明显的解决方案,但我目前看不到,因为我的大脑中有一个结。
【问题讨论】:
这能回答你的问题吗? How to use .env variables in Nuxt 2 or 3? 【参考方案1】:当使用像这里这样的模块的变量时(直接进入nuxt.config.js/ts
),你不能引用运行时变量。
像process.env.CLOUDINARY_CLOUD_NAME
一样直接使用即可。
有关我的完整答案的更多信息:https://***.com/a/67705541/8816585
【讨论】:
但是它们不是可以在客户端中访问,因此不安全吗? 由于它是官方模块,我确实认为该模块只会在构建期间使用这些凭据(仅限服务器端),并且不会在客户端运行时公开这些凭据。如果官方模块不遵循安全基础,那将是非常愚蠢的,但由于它是由Maya 完成的,我确实认为这个完全没问题。 @Nachtfunke以上是关于如何在 nuxt.config.ts 中为 Cloudinary 模块使用 privateRuntimeConfig .env?的主要内容,如果未能解决你的问题,请参考以下文章
将 nuxt 3 从 TypeScript 迁移到 JavaScript