Node.js 环境变量未定义
Node.js environment variables undefined
我正在尝试使用环境变量,但是当我使用文件和 运行 服务器时,我只得到 PORT 变量,而我的所有其他变量都未定义。我正在使用 nodemon。
.env
PORT=3000
SENDGRID_API_KEY=sometext
package.json
"scripts": {
"start": "node src/index.js",
"dev": "env-cmd -f ./config/dev.env nodemon src/index.js"
}
index.js
const port = process.env.PORT
const apiKey = process.env.SENDGRID_API_KEY
app.listen(port, () => {
console.log('Server is up on port '+port)
console.log(apiKey)
})
尝试使用dotenv
npm
import * as dotenv from 'dotenv'
dotenv.config();
export class Constants {
process.env.<YOUR_VARIABLE_NAME>
}
如果你使用 -f
而不是它不会关心环境 -e,请使用其中之一。
"env-cmd nodemon src/index.js"
.rc file ./.env-cmdrc
{
"development": {
"ENV1": "Thanks",
"ENV2": "For All"
},
"test": {
"ENV1": "No Thanks",
"ENV3": "!"
},
"production": {
"ENV1": "The Fish"
}
}
// 命令:
env-cmd -e production nodemon index.js
我正在尝试使用环境变量,但是当我使用文件和 运行 服务器时,我只得到 PORT 变量,而我的所有其他变量都未定义。我正在使用 nodemon。
.env
PORT=3000
SENDGRID_API_KEY=sometext
package.json
"scripts": {
"start": "node src/index.js",
"dev": "env-cmd -f ./config/dev.env nodemon src/index.js"
}
index.js
const port = process.env.PORT
const apiKey = process.env.SENDGRID_API_KEY
app.listen(port, () => {
console.log('Server is up on port '+port)
console.log(apiKey)
})
尝试使用dotenv
npm
import * as dotenv from 'dotenv'
dotenv.config();
export class Constants {
process.env.<YOUR_VARIABLE_NAME>
}
如果你使用 -f
而不是它不会关心环境 -e,请使用其中之一。
"env-cmd nodemon src/index.js"
.rc file ./.env-cmdrc
{
"development": {
"ENV1": "Thanks",
"ENV2": "For All"
},
"test": {
"ENV1": "No Thanks",
"ENV3": "!"
},
"production": {
"ENV1": "The Fish"
}
}
// 命令:
env-cmd -e production nodemon index.js