我正在使用 Zeit/Now 部署 Nuxt 应用程序。在开发阶段,我使用一个.env
文件将秘密存储到我的 Contentful CMS 中,process.env
并使用 nuxt-dotenv 包公开这些秘密。为此,在我调用的 nuxt.config 顶部require('dotenv').config()
。
然后我用 Zeit/Now 存储了这些秘密,并创建了一个 now.json 来为构建和运行时设置它们,如下所示:
{
"env": {
"DEMO_ID": "@demo_id"
},
"build": {
"env": {
"DEMO_ID": "@demo_id"
}
}
}
使用该设置,构建仅适用于索引页面,并且所有 Javascript 都不起作用。只有当我将 env-property 添加到nuxt.config.js
文件中时,该应用程序才开始在 Zeit-server 上正常工作。
require('dotenv').config()
export default {
...
env: {
DEMO_ID: process.env.DEMO_ID
},
...
modules: [
'@nuxtjs/dotenv'
],
...
}
但是:当我检查上传的 Javascript 文件时,我的秘密被暴露了,这显然是我不想要的。
我在这里做错了什么?谢谢你的帮助。