我发现自己处于一个相当奇怪的情况,我的 nuxt.config.ts 配置只想在某些情况下从我的 .env 读取变量。例如,在下面的示例中,它可以读取 NODE_ENV,但不能读取 STRIPE_PUBLISHABLE_KEY。我也不明白为什么
runtimeConfig: {
strapiAdminToken: process.env.STRAPI_ADMIN_TOKEN || '',
public: {
strapiBaseUri: process.env.NODE_ENV === "production" ? "https://preprod.redacted.com:1338" : "http://localhost:1337",
stripe: {
publishableKey: process.env.STRIPE_PUBLISHABLE_KEY || '',
},
}
}
我们会说它不想直接从 .env 设置变量,但可以在三元条件下读取它们。
Nuxt CLI 在开发模式下以及运行 nuxi build 和 nuxigenerate 时具有内置的 dotenv 支持。
除了任何进程环境变量之外,如果您的项目根目录中有一个 .env 文件,它将在开发、构建和生成时自动加载。在那里设置的任何环境变量都可以在您的 nuxt.config 文件和模块中访问。
您的
.env
文件是什么样的?符合<KEY>=<VALUE>
的标准格式吗?它位于哪里?它应该位于项目的根目录。
如果您使用的是 Docker 化容器,请确保在
envs
文件中设置 develeopment.yaml
。