Dependency-matching
Deze pagina legt uit hoe het platform beslist of een component "gerenderd kan worden" wanneer de dependencies van het component niet overeenkomen met de lokale versies.
Waarom matching nodig is
Bij een preview op het platform gebruikt een component de dependencies die al in jouw lokale project zijn geïnstalleerd. In de praktijk is dat vaak:
- Het component verwacht
echarts@5.2.3 - Lokaal is
echarts@5.0.0geïnstalleerd
Als de versies exact gelijk zouden moeten zijn, zouden veel componenten direct onbruikbaar worden. Daarom biedt het platform vijf matchingregels, en bepaal jij hoe ruim die mogen zijn.
De vijf regels
Onder "Instellingen → Preview-regel → Dependencies" kun je voor elk pakket in dependencies en devDependencies afzonderlijk instellen:
| Regel | Beoordeling | Toepasselijk scenario | Kleurindicator |
|---|---|---|---|
| Auto | Geen versiebeperking, gebruik de lokaal geïnstalleerde versie | Standaardwaarde, vooral gericht op renderbaarheid | Grijs |
| Alleen geïnstalleerd | Als het pakket lokaal is geïnstalleerd, ongeacht de versie | Snelle preview, geen productieverificatie | Groen |
| Major-versie | Hetzelfde major-versienummer | Balans tussen compatibiliteit en stabiliteit | Blauw |
| Major.minor-versie | Zowel major- als minor-versienummer gelijk | Gevoelig voor versies | Oranje |
| Exacte match | Exact hetzelfde versienummer | Strikte versiecontrole | Rood |
Hoe verder naar beneden, hoe strenger de regel. Op de instellingenpagina heeft elk item een gekleurde stip in de bijbehorende kleur, zodat je het snel herkent.
Voorbeeld van versievergelijking
Stel dat het component afhankelijk is van echarts@5.2.3:
| Lokale versie | Auto | Alleen geïnstalleerd | Major-versie | Major.minor | Exacte match |
|---|---|---|---|---|---|
| 5.0.0 | Gebruiken | Gebruiken | Gebruiken | Overslaan | Overslaan |
| 5.2.0 | Gebruiken | Gebruiken | Gebruiken | Overslaan | Overslaan |
| 5.2.3 | Gebruiken | Gebruiken | Gebruiken | Gebruiken | Gebruiken |
| 6.0.0 | Gebruiken | Gebruiken | Overslaan | Overslaan | Overslaan |
| Niet geïnstalleerd | Overslaan | Overslaan | Overslaan | Overslaan | Overslaan |
Standaardgedrag
- Dependencies zonder eigen configuratie gebruiken standaard Auto.
- Dependencies die lokaal helemaal niet zijn geïnstalleerd matchen met geen enkele regel; installeer ze eerst.
- Het framework wordt bepaald door de broncode van het component: met
vuerendert het als Vue, metreactals React; bij beide kan het niet renderen.
Problemen in vier stappen oplossen
1. Schakel over naar "Alle"
Controleer of het component bestaat en niet door de lijst is weggefilterd.
2. Bekijk de dependency-status
Op de detailpagina:
- Groen: matching geslaagd
- Geel: versieverschil, je kunt proberen te draaien
- Rood: geen match of ontbrekend
3. Installeer ontbrekende dependencies
npm install <package-name>Ververs de pagina na de installatie om opnieuw te detecteren.
4. Versoepel de regel
Als het versieverschil de functionaliteit niet beïnvloedt, versoepel je de regel van "Exacte match" naar "Major-versie" of "Auto".
Bereik van de regels
Dependency-matching beïnvloedt alleen de online preview. Na het downloaden draait het component met de dependencies van jouw project; de regels hier zijn dan niet meer van toepassing.
Volgende stappen
- Je eigen component klaarmaken voor publicatie: Componentspecificatie
- Dependency-fouten na het publiceren: FAQ en terminologie