Skip to content

V5에서 마이그레이션 ​

환경 API ​

새로운 실험 환경 API의 일환으로 큰 내부 리팩토링이 필요했습니다. Vite 6은 대부분의 프로젝트가 새로운 전공으로 빠르게 업그레이드 할 수 있도록 변경 사항을 피하기 위해 노력합니다. 우리는 생태계의 상당 부분이 새로운 API의 사용을 안정화시키고 권장하기 시작할 때까지 기다립니다. 일부 사례가있을 수 있지만 프레임 워크 및 도구에 의해서만 낮은 수준의 사용에 영향을 미칩니다. 우리는 생태계의 관리자와 협력하여 출시 전에 이러한 차이점을 완화했습니다. 회귀를 발견하면 문제를 열어 주십시오.

Vite의 구현 변경으로 인해 일부 내부 API가 제거되었습니다. 그 중 하나에 의존하는 경우 기능 요청을 작성하십시오.

vite 런타임 API ​

실험 VITE 런타임 API는 새로운 실험 환경 API 의 일부로 VITE 6에서 출시 된 모듈 러너 API로 발전했습니다. 이 기능이 실험적이라는 점을 감안할 때 VITE 5.1에 도입 된 이전 API의 제거는 깨진 변경이 아니지만 사용자는 VITE 6으로 마이그레이션하는 데 동등한 모듈 러너에 대한 사용을 업데이트해야합니다.

일반적인 변화 ​

resolve.conditions 의 기본값 ​

이 변경은 resolve.conditions / ssr.resolve.conditions / ssr.resolve.externalConditions 구성하지 않은 사용자에게 영향을 미치지 않습니다.

Vite 5에서 resolve.conditions 의 기본값은 [] 이고 일부 조건은 내부적으로 추가되었습니다. ssr.resolve.conditions 의 기본값은 resolve.conditions 의 값이었습니다.

Vite 6에서 일부 조건은 더 이상 내부적으로 추가되지 않으며 구성 값에 포함되어야합니다. 더 이상 내부적으로 추가되지 않는 조건

  • resolve.conditions 은[ 'module', 'browser', 'Development입니다|생산 ']
  • ssr.resolve.conditions 은[ 'module', 'node', 'Development입니다|생산 ']

해당 옵션의 기본값은 해당 값으로 업데이트되고 ssr.resolve.conditions 더 이상 resolve.conditions 기본값으로 사용하지 않습니다. 개발|생산 is a special variable that is replaced with생산or개발depending on the value of프로세스 .env.node_env. These default values are exported from ViteasDefaultClientConditionsand defaultserverconditions.

resolve.conditions 또는 ssr.resolve.conditions 의 사용자 정의 값을 지정하면 새 조건을 포함하도록 업데이트해야합니다. 예를 들어, 이전에 resolve.conditions 에 ['custom'] 지정한 경우 대신 ['custom', ...defaultClientConditions] 지정해야합니다.

JSON Stringify ​

Vite 5에서 json.stringify: true 설정되면 json.namedExports 비활성화되었습니다.

Vite 6에서 json.stringify: true 설정 되더라도 json.namedExports 비활성화되지 않고 값을 존중합니다. 이전 행동을 달성하려면 json.namedExports: false 설정할 수 있습니다.

vite 6은 또한 'auto' 인 json.stringify 에 대한 새로운 기본값도 소개하며, 이는 큰 JSON 파일만을 stringifl니다. 이 동작을 비활성화하려면 json.stringify: false 설정하십시오.

HTML 요소에서 자산 참조의 확장 된 지원 ​

Vite 5에서는 지원되는 HTML 요소 몇 명만이 <link href> , <img src> 등과 같이 Vite에 의해 처리되고 번들로 제공 될 자산을 참조 할 수있었습니다.

Vite 6은 지원을 훨씬 더 많은 HTML 요소로 확장합니다. 전체 목록은 HTML 기능 문서에서 찾을 수 있습니다.

특정 요소에서 HTML 처리를 거부하려면 요소에 vite-ignore 속성을 추가 할 수 있습니다.

postcss-load-config ​

postcss-load-config V4에서 V6으로 업데이트되었습니다. tsx 또는 jiti 이제 ts-node 대신 PostCSS 구성 파일을로드해야합니다. 또한 YAML PostCSS 구성 파일을로드하려면 yaml 필요합니다.

Sass는 이제 기본적으로 최신 API를 사용합니다 ​

Vite 5에서 레거시 API는 기본적으로 SASS에 사용되었습니다. Vite 5.4 현대 API에 대한 지원이 추가되었습니다.

Vite 6에서 최신 API는 기본적으로 SASS에 사용됩니다. 레거시 API를 여전히 사용하려면 css.preprocessorOptions.sass.api: 'legacy' / css.preprocessorOptions.scss.api: 'legacy' 설정할 수 있습니다. 그러나 레거시 API 지원은 VITE 7에서 제거됩니다.

현대 API로 마이그레이션하려면 SASS 문서를 참조하십시오.

라이브러리 모드에서 CSS 출력 파일 이름을 사용자 정의합니다 ​

Vite 5에서 라이브러리 모드의 CSS 출력 파일 이름은 항상 style.css 이었으며 VITE 구성을 통해 쉽게 변경할 수 없습니다.

vite 6에서 기본 파일 이름은 이제 JS 출력 파일과 유사하게 package.json 에서 "name" 사용합니다. build.lib.fileName 문자열로 설정되면 CSS 출력 파일 이름에도 값이 사용됩니다. 다른 CSS 파일 이름을 명시 적으로 설정하려면 새 build.lib.cssFileName 사용하여 구성 할 수 있습니다.

마이그레이션하려면 style.css 파일 이름에 의존 한 경우 패키지 이름을 기준으로 참조를 새 이름으로 업데이트해야합니다. 예를 들어:

package.json
json
{
  "name": "my-lib",
  "exports": {
    "./style.css": "./dist/style.css"
    "./style.css": "./dist/my-lib.css"
  }
}

Vite 5에서와 같이 style.css 고수하는 것을 선호하는 경우 대신 build.lib.cssFileName: 'style' 설정할 수 있습니다.

고급의 ​

소수의 사용자에게만 영향을 미치는 다른 파손 변경이 있습니다.

V4에서 마이그레이션 ​

vite v5 문서 의 v4 가이드에서 마이그레이션을 확인하여 먼저 앱을 Vite 5로 포트하는 데 필요한 변경 사항을 확인한 다음이 페이지의 변경 사항을 진행하십시오.

Released under the MIT License. (dev)