codestates / codestates/Lumiere
[에러 핸들링] 타입스크립트에서 env사용할때 Types of property '변수명' are incompatible.
- 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.