繁体   English   中英

NextJS 环境变量未定义?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM