Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Kā Vite rīkojas ar ligzdotajiem apstākļiem, salīdzinot ar citiem bundleriem


Kā Vite rīkojas ar ligzdotajiem apstākļiem, salīdzinot ar citiem bundleriem


Vite apstrāde ar ligzdotiem apstākļiem nosacītā eksportā ir līdzīga citiem mūsdienu bundleriem, piemēram, ripošanai un tīmekļa pakai, bet ar dažām galvenajām atšķirībām:

ligzdošanas un specifiskuma secība

- VITE: apstākļus var ligzdot `Eksporta laukā` pakotne.json`. Tie būtu jānorāda no specifiskākajiem līdz vismazāk specifiskajiem. VITE atbildīs pirmajam nosacījumam, kas ir atļautā nosacījumu sarakstā [1].

- Rollup: Rollup atbalsta ligzdotus apstākļus laukā "Eksports", ievērojot tādu pašu specifiskuma secību kā VITE [2].

- Webpack: Webpack atbalsta arī ligzdotus apstākļus laukā “Eksports”, kam nepieciešama tāda pati specifiskuma secība kā VITE un RILLUP [3].

Atļauts apstākļi

- VITE: ir iepriekš noteikts atļauto nosacījumu saraksts, kas ietver `importam,“ moduli ”,“ pārlūku ”,“ noklusējuma ”un videi raksturīgos apstākļus, piemēram,“ ražošana ”vai“ attīstība ”. Opcija `Resolve.Conditions` konfigurācija var pievienot vairāk [1].

- RILLUP: ļauj norādīt pielāgotus apstākļus, izmantojot `konservemodulus` un` ProperModulesRoot` opcijas [2].

- Webpack: ļauj noteikt pielāgotus nosacījumus, izmantojot opciju “Resolve.ConditionNames`” [3].

Rūpes par nepareiziem apstākļiem

- Vite: Ja apstākļi nav pareizi strukturēti vai VITE izvēlas nepareizu eksportu, tas var izraisīt izpildlaika kļūdas. Lauka “Eksporta” rūpīga strukturēšana ir izšķiroša [1].

- Rollup: Rollup reģistrēs brīdinājumus, ja tas saskaras ar problēmām ar lauku “Eksports”, bet joprojām var atrisināt ieejas punktu [2].

- Webpack: WebPack reģistrēs kļūdas, ja lauks “Eksports” ir nepareizi veidots vai ja tas nevar atrisināt ieejas punktu [3].

Monorepo atbalsts

- VITE: automātiski nosaka saistītas atkarības Monorepo un traktē tās kā avota kodu, analizējot to atkarības, nevis tās apvienojot [4].

- RILLUP: Lai apstrādātu saistītās atkarības Monorepo, ir jāizmanto spraudņi, piemēram, `@rollup/spraudnis-alias" [2].

- Webpack: Lai apstrādātu saistītās atkarības Monorepo, ir jāizmanto spraudņi, piemēram, “uzlabotas izšķirtspējas” [3].

Rezumējot, VITE rīkošanās ar ligzdotajiem apstākļiem ir līdzīga citiem bundleriem, taču tam ir dažas priekšrocības, piemēram, automātiskais Monorepo atbalsts un stabilāks atļauto nosacījumu saraksts. Tomēr visiem bundleriem nepieciešama rūpīga lauka “Eksporta” strukturēšana, lai izvairītos no problēmām.

Atsauces:
[1] https://v2.vitejs.dev/config/
[2] https://vitejs.dev/guide/features
[3] https://vitejs.dev/guide/dep-pre-bundling
[4] https://vitejs.dev/guide/build
[5] https://vitejs.dev/config/shared-options