이게 왜 안되는가 곰곰히 생각해 봤더니 env에 대한 타입을 안정해줘서 그렇다.
npm install @types/dotenv --save-dev 으로 dotenv에대한 타입을 설치하거나
이래도 안된다면 env.d.ts 파일을 만들고 안에
declare namespace NodeJS {
export interface ProcessEnv {
SECRET_KEY: string;
...
}
}
이런식으로 타입들을 일일이 적어줘야한다.
(그래봤자 string | undefined 이거밖에 안된다🤯)
아무데나 파일을 만들고 이렇게 쓴 다음 그냥 임포트해서 쓰면 된다. 핵심은 as string
!
export const s3config = {
bucketName: process.env.REACT_APP_BUCKET_NAME as string,
region: process.env.REACT_APP_REGION as string,
accessKeyId: process.env.REACT_APP_ACCESS_ID as string,
secretAccessKey: process.env.REACT_APP_ACCESS_KEY as string,
};