Next.js 多个 .env 文件
Next.js multiple .env files
我是 Next.js 的新手,在我的项目中,我安装了 dotenv(https://www.npmjs.com/package/dotenv) 并在项目根目录中创建了一个 .env 文件,一切正常。
例如。 API_BASE_PATH=http://localhost:8000/api
然后,我在其中创建了另一个名为 .env.testing 的 .env 文件,API_BASE_PATH 有不同的值。
那么,我如何在本地开发中的那些 .env 之间切换?
"scripts": {
"dev": "next dev -p 3001",
"build": "next build",
"start": "next start",
"export": "npm run build && next export"
},
我想将它添加到脚本中。
您可以添加如下脚本
"scripts": {
"env1": "DOTENV_CONFIG_PATH=./.env next dev",
"env2": "DOTENV_CONFIG_PATH=./.env.testing next dev"
}
所以,我将分享我使用的另一种方式:
一个.env
个文件
ENV=development // change to the env you want
DEV_VAR='dev-example'
STAGE_VAR='stage-example'
PROD_VAR='prod-example'
然后在我的
next.config.js
module.exports = (phase, { defaultConfig }) => {
let exampleVar;
switch(process.env.ENV) {
case "development":
exampleVar = process.env.DEV_VAR;
break;
case "stage":
exampleVar = process.env.STAGE_VAR;
break;
case "prod":
exampleVar = process.env.PROD_VAR;
break;
default:
exampleVar = process.env.DEV_VAR;
break;
}
return {
...defaultConfig,
env: {
exampleVar,
},
... other next config options
}
}
然后,在您的代码中,您可以使用:
process.env.exampleVar
然后你开发的时候把ENV
值切换成你想工作的环境就可以了
NextJS 允许您为您的配置使用一个函数:
next.config.js
我是 Next.js 的新手,在我的项目中,我安装了 dotenv(https://www.npmjs.com/package/dotenv) 并在项目根目录中创建了一个 .env 文件,一切正常。
例如。 API_BASE_PATH=http://localhost:8000/api
然后,我在其中创建了另一个名为 .env.testing 的 .env 文件,API_BASE_PATH 有不同的值。
那么,我如何在本地开发中的那些 .env 之间切换?
"scripts": {
"dev": "next dev -p 3001",
"build": "next build",
"start": "next start",
"export": "npm run build && next export"
},
我想将它添加到脚本中。
您可以添加如下脚本
"scripts": {
"env1": "DOTENV_CONFIG_PATH=./.env next dev",
"env2": "DOTENV_CONFIG_PATH=./.env.testing next dev"
}
所以,我将分享我使用的另一种方式:
一个.env
个文件
ENV=development // change to the env you want
DEV_VAR='dev-example'
STAGE_VAR='stage-example'
PROD_VAR='prod-example'
然后在我的
next.config.js
module.exports = (phase, { defaultConfig }) => {
let exampleVar;
switch(process.env.ENV) {
case "development":
exampleVar = process.env.DEV_VAR;
break;
case "stage":
exampleVar = process.env.STAGE_VAR;
break;
case "prod":
exampleVar = process.env.PROD_VAR;
break;
default:
exampleVar = process.env.DEV_VAR;
break;
}
return {
...defaultConfig,
env: {
exampleVar,
},
... other next config options
}
}
然后,在您的代码中,您可以使用:
process.env.exampleVar
然后你开发的时候把ENV
值切换成你想工作的环境就可以了
NextJS 允许您为您的配置使用一个函数: next.config.js