我创建了这个.env
文件:
TYPE=xxx
HOST=xxx,
PORT=xxx,
USERNAME=xxx,
PASSWORD=xxx,
DATABASE=xxx,
在我的文件中,我是这样使用的:
import * as dotenv from "dotenv";
dotenv.config();
export const typeOrmConfig: TypeOrmModuleOptions = {
port: process.env.PORT
}
但是我只能使用.env
文件中的port
变量,而不能使用其他变量,有人能告诉我为什么我不能使用其他变量吗?
发布于 2020-06-10 01:11:29
实际上,您已经定义了.env文件的路径
试着这样做
import * as dotenv from "dotenv";
dotenv.config({ path: __dirname+'/.env' });
也可以试试这个
require('dotenv').config({ path: __dirname+'/.env' });
根据需要更改.env文件的路径
发布于 2021-07-29 18:37:25
如果您得到未定义的值,如果您使用ES6,则需要按如下方式导入(.env文件必须在工程根目录下):
如何将dotenv与import一起使用?
节点
的此注释中所述
您必须在项目的app.ts文件(第一个)示例中导入express:
app.ts
//here
import 'dotenv/config'
import express from 'express'
import { userRouter } from './routes/user'
const app = express()
app.use(`/users`, userRouter)
app.listen(process.env.PORT, () => {
console.log(`running`)
})
现在可以在项目中的任何位置使用它
对read the documentation来说永远是件好事
发布于 2021-07-01 17:44:57
我的项目安装了eslint
,因此我必须禁用import/first
规则
/* eslint-disable import/first */
require('dotenv').config();
import Koa from 'koa';
import { Logger } from './utils/loggers';
import { app } from './app';
const LOGGER = Logger();
const port = parseInt(process.env.PORT as string, 10) || 8081;
const server = (server: Koa) => {
server.listen(port, () => {
LOGGER.info(`> Ready on http://localhost:${port}`);
});
};
server(app());
我们还可以使用:
import 'dotenv/config'
但
require('dotenv').config({path:path_to_dotenv});
更加灵活。
https://stackoverflow.com/questions/62287709
复制相似问题