[英]NextJS environment variables undefined?
我制作了一个脚本来将一些 static 数据保存到我的文件系统中,如下所示
./lib/createLinks.js
const contentful = require('contentful') const fs = require('fs') require('dotenv').config({ path: `.env.${process.env.NODE_ENV}`, }) async function createLinks() { const client = contentful.createClient({ space: process.env.NEXT_CONTENTFUL_SPACE_ID, accessToken: process.env.NEXT_CONTENTFUL_ACCESS_TOKEN, }) const data = await client.getEntries({ content_type: 'news', }) fs.writeFile('./data/links.json', JSON.stringify(data), (err) => { if (err) throw err console.info('Global data written to file') }) } async function main() { try { await createLinks() } catch (err) { throw new Error(err) } } main()
"create-links": "node./lib/createLinks", "dev": "yarn create-links && next dev", "build": "yarn create-links && next build",
但是,当我尝试运行它时,我无法访问未定义的环境变量。
我的变量放在根目录 in.env.local
为什么会这样?
我通过将以下内容添加到我的 package.json 来解决它
"dev": "NODE_ENV=local yarn create-links && next dev", "build": "NODE_ENV=local yarn create-links && next build",
出于某种原因,这 + node_env=local 帮助了我的情况
process.env['NEXT_PUBLIC_BACKEND_URL']
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.