environment-variables - .env 和 next.js 在本地
问题描述
我有 2 个关于.env
.env.local
STAGE=local
API=http://localhost:3333
.env.dev
STAGE=dev
API=https://dev.api.domain.com
我想将它们分开为package.json
脚本
我想要的是
"script": {
"start-local": ".env.local && next",
"start-dev": ".env.dev && next"
}
解决方案
.env
您可以通过某些环境变量加载特定文件。
例如:
"script": {
"start-local": "NODE_ENV=local next",
"start-dev": "NODE_ENV=dev next"
}
这将定义NODE_ENV
环境变量,然后基于它,您可以使用dotenv
lib 加载正确的文件。
// next.config.js
const dotEnv = require('dotenv');
const path = require('path');
const envFilePath = path.join(__dirname, `.env.${process.env.NODE_ENV}`); // this will have the path to the proper `.env` file
dotEnv.config({ path: envFilePath });
module.exports = {
...
}
推荐阅读
- c# - 如何在没有第三方工具的情况下加密 localdb mdf 文件?
- python - 如何解析多个xml文件并将属性传递给csv?
- redirect - 显示从旧域重定向到新域的弹出窗口
- sql-server - SQL Server 插入语句部分插入数据。并非所有给定数据都被插入
- javascript - Why is this decoding/encoding process giving a different buffer array?
- websocket - 你能提供关于websocket的信息吗
- java - Caused by: org.h2.jdbc.JdbcSQLDataException: Hexadecimal string contains non-hex character
- c# - How to output all class objects in console?
- php - 正则表达式仅匹配全套两部分模式(有点非贪婪)
- python - Python Dataframe 中的多个 If 语句