在我的代码中,我进行API调用,但是我希望能够同时使用dev和prod,因此通常我会做类似的事情:
let res = await fetch(`${process.env.SERVER_URL}/api/category/initialCategoryMeta?category=${category}`
如何在NextJS中执行类似的操作,以便在运行应用程序时设置SERVER_URL?
答案 0 :(得分:1)
构建时间配置
module.exports = {
env: {
customKey: 'value',
},
}
这将使您可以在代码中使用process.env.customKey。例如:
function Index() {
return <h1>The value of customKey is: {process.env.customKey}</h1>
}
export default Index
运行时配置
您可以设置 next.config.js
文件
// next.config.js
module.exports = {
serverRuntimeConfig: {
// Will only be available on the server side
mySecret: 'secret',
secondSecret: process.env.SECOND_SECRET, // Pass through env variables
},
publicRuntimeConfig: {
// Will be available on both server and client
staticFolder: '/static',
},
}
然后从 next/config
// pages/index.js
import getConfig from 'next/config'
// Only holds serverRuntimeConfig and publicRuntimeConfig from next.config.js nothing else.
const { serverRuntimeConfig, publicRuntimeConfig } = getConfig()