codestates / codestates/Lumiere

[에러 핸들링] 타입스크립트에서 env사용할때 Types of property '변수명' are incompatible.

Open
#229 0 comments 0 reactions 1 assignee Claimed by @developerjhp View on GitHub
Completed Error
Dominant language
TypeScript
Stars
7
Forks
4
PR merge metrics
No merged PRs in 30d

Description

이게 왜 안되는가 곰곰히 생각해 봤더니 env에 대한 타입을 안정해줘서 그렇다.

# 서버에서
npm install @types/dotenv --save-dev 으로 dotenv에대한 타입을 설치하거나
이래도 안된다면 env.d.ts 파일을 만들고 안에
```tsx
declare namespace NodeJS {
export interface ProcessEnv {
SECRET_KEY: string;
...
}
}
```
이런식으로 타입들을 일일이 적어줘야한다.
(그래봤자 string | undefined 이거밖에 안된다🤯)

# 클라이언트에서
아무데나 파일을 만들고 이렇게 쓴 다음 그냥 임포트해서 쓰면 된다. 핵심은 `as string`!
```tsx
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,
};
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.