inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Svelte.js [Core API] 완벽 가이드

9. 랜덤 고유 문자열 생성(crypto-random-string)과 Rollup 구성

Rollup 과 npm 버전 관리 와 `npm audit fix` 에 관한 간결한 질문입니다.

274

Truestar

작성한 질문수 68

1

안녕하세요 강사님^^
최고의 강의 감사합니다

npm 모듈 버전명시를 해두신 것을 보고,
충돌이 잦아서 `저렇게 명시를 해둬야 하는구나` 싶으면서도  드는 의문이 생겼습니다

      1. `특정 모듈 설치 후에 생기는 충돌점은어떻게 관리하시나요?
        충돌이 없게끔, 한땀한땀 마이너 버전을 찾아야 되는건가요??`
        충돌없는 버전 찾는방법에 조막만한 Tip 이랄것이 있을까요?

      2. npm audit fix 가 취약점 해결 명령어 인걸로 아는데
        이것으로도 충돌이 해결되는 경우도 있나요?


버전명시해 두신것 보고 식은땀이 났습니다..ㅠㅠ
Svelte 의 생태계 기반이 잡혀나가는 현 시점에서는 어쩔수 없는 숙명이겠죠?

읽어주셔서 감사합니다!!

svelte Rollup Sortable

답변 1

1

HEROPY

Truestar 님 안녕하세요~
특급 칭찬 정말 감사합니다!!😆

버전 명시의 경우에는 온라인 강의 특성 때문입니다.
온라인 강의 촬영에 생각보다 많은 기회비용이 들어가기도 하고,
기존 영상 교체는 인프런의 검수가 필요합니다.
여러 상황으로 온라인 강의는 모듈 버전이 바뀐 내용을 매번 새로 추가/교체/삭제하기 아주 어렵습니다.
따라서 버전을 고정하고 그 내용만 다루는 거죠.
강의에서 중요한 건 모듈 버전이 아니고 핵심 로직과 흐름이니까요.

1번 질문의 경우, 저는 충돌이 발생하면 문제 원인을 찾아보고 해결 방법이 있는 경우 최신 버전을 유지한 상태로 해결하고, 방법이 없으면 모듈 버전을 다운그레이드하고 있습니다.
최신 버전 때문에 생기는 문제는 보통 아직 해결 방법이 없거나 해결이 쉽지 않은 경우가 많아서 다운그레이드가 여러모로 좋은 방법인데요.
반대로 생각해 보면 현업에서 프로젝트를 매번 최신 버전의 모듈로 관리했다간 충돌 대응만 하다가 일과가 끝날 겁니다.
그래서 조금 보수적으로 안정화된 버전을 사용하는 것이 좋습니다.

2번 질문의 경우, audit fix는 말씀하신 대로 취약점 해결이 목적이고 충돌 해결은 목적이 아니기 때문에, 특정 충돌이 해결되는 경우가 있더라도 관련이 없는 사례로 봐야할 듯하네요.

버전 명시는 Svelte만의 문제는 아니고, 모든 패키지 관리 프로젝트의 문제일 듯합니다.
Svelte가 아직은 변화가 빠르게 일어나는 단계라서 대응하기 쉽지 않지만,
안정화된 버전들 위주로 사용하시면 큰 문제는 없을 듯하고요,
지금 제가 Svelte로 만드는 회사 프로젝트도 버전을 올리려면 일정을 단단히 잡아놔야할 것 같네요.

특정 모듈 최신 버전에 내 프로젝트가 좌지우지될 기능이 들어있지 않은 이상,
하위 버전을 사용하는 게 여러모로 더 이득이지 않을까 합니다.
물론 상황에 따라 다를 수도 있겠지요~

56강 4. 슬롯 포워딩이 Svelte 5 부터는 적용 불가

0

207

1

5 라이프사이클 모듈화 - 질문

0

285

1

소스코드

0

268

1

스벨트킷 강의는 안해주시나요?

0

334

1

강의 소스 코드

1

657

2

aws ec2 배포시 질문

1

883

2

vite 사용하는 예시 추가 계획은 없으실까요?

2

443

1

터미널에서 npx를 치실 때 흐린색으로 가이드처럼 나오는건 어떻게 해야 하나요?

1

379

1

textarea에서 esc 키를 누를 때 오류

1

334

1

스벨트 반응성에 대해 질문드립니다!

1

470

1

백엔드는 어떻게 배우면 좋을까요?

1

305

1

scss를 사용하기 위한 sveltePreprocess() 실행 위치가?

1

393

1

보간한다는 뜻을 무슨 의미로 이해해야 하나요?

1

6126

2

[0:15] Vuejs 인라인 핸들러 비권장 설명

1

304

1

로그인 정보를 확인할 때

1

250

1

재렌더링 때 interval 처리 질문

1

287

1

7:10초 설명에 질문 있습니다.

1

268

1

:global() 에서 & 적용이 안되는거 같아요

2

298

1

promise 변수에 초기값 관련 질문입니다.

1

383

2

혹시 vue 처럼 classObject 객체를 통해 제어하는 방법은 없을까요?

1

232

1

onMount 응용해서 적용해보려고 하는데 오류가 나네요.

1

340

1

패키지 설치 시 퍼미션 에러

1

295

1

스토어를 왜 사용하는지 궁금합니다

0

236

1

node-sass 설치 오류

1

2055

2