Мэдээ

SvelteKit 3 албан ёсоор гарлаа: svelte.config.js-ийг халж, Rust суурьт Rolldown болон стандарт #lib рүү шилжив

TOGTOKHTOGTOKH·2026 оны аравдугаар сарын 3·3 үзсэн·
SvelteKit 3 албан ёсоор гарлаа: svelte.config.js-ийг халж, Rust суурьт Rolldown болон стандарт #lib рүү шилжив

Вэб хөгжүүлэгчдийн дунд онцгой байр суурь эзэлдэг Svelte экосистемийн албан ёсны full-stack фрэймворк болох SvelteKit 3.0 хувилбар өчигдөр албан ёсоор нээлтээ хийлээ. SvelteKit 2-оос хойш багагүй хугацаа өнгөрсөн бөгөөд энэ удаагийн major хувилбар нь өнгөц харахад танил бүтэцтэй мэт боловч капот доороо бүтээмж, код баазын цэвэрлэгээ, системийн суурь архитекторт томоохон өөрчлөлтүүдийг авчирч байна.

Төслийг үүсгэн байгуулагч Рич Харрис (Rich Harris) Hacker News дээр энэ тухай хуваалцахдаа: "Сүүлийн үед хиймэл оюун ухааны хөгжлөөс үүдэж хөгжүүлэгчид фронтэнд фрэймворкуудын нарийн ширийнийг сонирхохоосоо илүүтэй кодоо шууд LLM-ээр бичүүлэх нь ихэссэн. Гэсэн хэдий ч суурь багаж хэрэгслийн цэвэр цэмцгэр бүтэц, төрлийн найдвартай хамгаалалт (type safety) хэзээ хэзээнээс илүү үнэ цэнтэй болсон" гэдгийг онцолсон байна.

Тэгвэл SvelteKit 3 дээр юу өөрчлөгдсөн, шинэ төсөлдөө нэвтрүүлэхэд юуг анхаарах ёстой вэ? Гол шинэчлэлтүүдийг задлан авч үзье.

1. Хос файлын зовлонг цэглэв: svelte.config.js-ийн төгсгөл

SvelteKit-ээр төсөл бичдэг хөгжүүлэгч бүрийн толгойг гашилгадаг нэг асуудал байсан нь тохиргооны хос файл байв. Зарим тохиргоог svelte.config.js дотор бичдэг бол нөгөө хэсгийг нь vite.config.ts дотор бичих шаардлага гардаг байлаа. Энэ нь асинхрон тохиргооны зөрчил үүсгэж, ялангуяа Vitest эсвэл тусгай CLI багажууд ажиллуулахад асуудал тарьдаг байв.

SvelteKit 3 дээр svelte.config.js бүрэн түүх болон үлдэв. Одоо бүх тохиргоо зөвхөн vite.config.ts дотор sveltekit() plugin-ийн параметрээр дамжиж нэг л цэгт төвлөрнө. Энэ нь төслийн архитектурыг цэгцэлж, тохиргооны дахин давхардал болон шийдэгдэхгүй уддаг dependency зөрчлүүдийг үгүй болгож байна.

2. Rust суурьт Rolldown 1.0 бүхий Vite 8 хөдөлгүүр

SvelteKit 3 нь дотооддоо дөнгөж гарсан Vite 8-ийг хамгийн бага шаардлага болгон заасан анхны томоохон фрэймворк боллоо. Хамгийн сонирхолтой нь Vite 8-аас эхлэн уламжлалт JavaScript дээр бичигдсэн Rollup бандлерийг Rust хэл дээр шинээр дахин бичсэн Rolldown 1.0-ээр сольж байгаа явдал юм.

Үүний үр дүнд:

  • Production Build-ийн хурд: Том хэмжээний аппликейшнийг компиляц хийх, asset-уудыг савлах хугацаа 3–5 дахин хурдассан.
  • Санах ойн зарцуулалт (Memory Footprint): CI/CD серверүүд дээр өмнөх хувилбарууд шиг санах ой дүүрэх (OOM) эрсдэл эрс багассан.
  • Tree-shaking болон chunk хуваалт: Илүү ухаалаг, оновчтой болсноор эцсийн хэрэглэгчийн браузер луу илгээх JS хэмжээ багассан.

3. Өөрийн тохируулгаас веб стандарт руу: $lib-ийг халж #lib болгов

SvelteKit-ийн олон жилийн турш ашиглаж ирсэн src/lib хавтас луу ханддаг $lib алиас нь тус фрэймворкийн дотоод хакердалт байсан юм. Хэдийгээр эвтэйхэн боловч гаднын хэрэгслүүд, тусдаа linter, төрөл шалгагчдад ойлгуулахын тулд тусгай wrapper тохируулах шаардлага үүсдэг байв.

SvelteKit 3 нь үүнийг орчин үеийн Node.js болон багцын стандарт болох Subpath Imports (#lib) болгон сольжээ. package.json дахь стандарт imports талбарыг ашигласнаар TypeScript ямар ч гуравдагч плагингүйгээр импортыг шууд таньж, авто-гүйцээлт болон refactor хийх үйл явц алдаагүй, гэрлийн хурдаар ажиллах нөхцөл бүрдэв.

4. Шинэ түвшний алдаа боловсруулалт ба 'Remote Functions'-ийн бэлтгэл

Svelte 5-ийн Runes системд бүрэн нийцүүлэн алдаа барих бүтцийг сууриар нь шинэчилжээ. Өмнө нь error(status, { message }) гэх мэтээр тодорхойгүй өгөгдөл шиддэг байсан бол одоо мессежийг заавал шаардаж, серверээс ирэх алдааны өгөгдлийг UI дээр App.Error төрлөөр баталгаажуулж өгдөг болсон.

Үүнээс гадна багийнхны мэдээлснээр дараагийн дугаарт албан ёсоор орж ирэх Remote Functions-ийн туршилтын хувилбар багтжээ. Энэ нь уламжлалт REST API эсвэл fetch бичих шаардлагагүйгээр сервер дээрх функцуудыг клиентээс шууд аюулгүй, бүрэн төрлийн хамгаалалттай (type-safe RPC) дуудах боломжийг олгох юм.

5. Хуучин төслөө хэрхэн шилжүүлэх вэ?

Хэрэв та одоо SvelteKit 2 ашиглаж байгаа бол шууд upgrade хийхээсээ өмнө дараах техникийн шаардлагуудыг хангасан эсэхээ шалгаарай:

  • Node.js: v22.17 буюу түүнээс дээш
  • TypeScript: v6 буюу түүнээс дээш
  • Svelte: v5.57.1+ (Svelte 4 төслүүд эхлээд Svelte 5 руу шилжих ёстой)

Шилжилтийн процессыг хөнгөвчлөхийн тулд багийнхан автомат шилжүүлэгч хэрэгслийг хамт гаргасан байна:

npx sv migrate sveltekit-3 --tasks all --confirm

Энэхүү тушаал нь таны svelte.config.js-ийн тохиргоог vite.config.ts рүү нүүлгэж, файлууд дахь $lib дуудалтуудыг #lib болгон өөрчилнө. Хэрэв гар ажиллагаа шаардлагатай кодын хэсэг таарвал автоматаар TODO лист үүсгэж өгөх тул AI туслахууд болон агентуудад даалгавар болгон өгч богино хугацаанд дуусгах бүрэн боломжтой.

Дүгнэлт

SvelteKit 3 нь зүгээр нэг хувилбарын тоо ахиулсан төдий биш, харин хөгжүүлэгчийн бичих кодын цэвэр байдал болон Rust суурьтай хурдан хэрэгслүүдийг стандартчилах чухал алхам боллоо. Вэб технологиудын чимээгүй өрсөлдөөнд Svelte баг дахин нэг удаа энгийн, ухаалаг бөгөөд хурдтай байдлыг чухалчилж чадсанаа батлан харууллаа.

Эх сурвалж: Svelte Official Blog (svelte.dev), Hacker News Announcement Thread

Сэтгэгдэл

Ачаалж байна...