De CLI gebruiken
De CLI heeft drie taken: de lokale service starten, draaiende projecten beheren en componentupdates vanuit de terminal publiceren. De drie binaire namen comphub, ch en comp-hub wijzen naar hetzelfde programma.
Overzicht van commando's
| Commando | Functie |
|---|---|
comphub | Start de lokale service voor het huidige project |
comphub status | Bekijk de status van de master en alle draaiende projecten |
comphub stop <hash> | Stop een opgegeven project |
comphub stop --all | Stop alle projecten |
comphub kill | Sluit de master en alle projecten af |
comphub fix | Ruim achtergebleven runtime-bestanden op |
comphub login | Aanmelden via browserautorisatie en de inloggegevens opslaan |
comphub upload [compDir] | Een nieuwe versie publiceren voor een al gepubliceerd component |
comphub install <component[@versie]> | Een gepubliceerd openbaar component naar de huidige map downloaden |
De service starten
comphubParameters:
| Parameter | Kort | Standaard | Beschrijving |
|---|---|---|---|
--port | -p | 5478 | Servicepoort |
--dir | -d | ./ | Hoofdmap van de componenten |
--log-level | -l | error | debug / info / warn / error |
--version | -v | — | Toon de versie |
--help | -h | — | Toon de help |
comphub -p 8080
comphub -d ./src
comphub -l debugDe poortparameter werkt alleen als de master nog niet draait
Draait er al een service, dan hergebruikt de CLI de bestaande poort en meldt dat -p wordt genegeerd. Voer eerst comphub kill uit als je een andere poort nodig hebt.
Na de start print de terminal:
Version 0.44.11
Project D:\project\my-app
Hash 94525912
Port 5478
URL http://localhost:5478/94525912/main/Hash is de identificatie van de huidige map; het stop-commando gebruikt die. Met Ctrl+C beëindig je de loguitvoer van het huidige project en wordt het project automatisch uitgeschreven.
Configuratiebestand
Maak in de hoofdmap van het project een .comphub.json- of .comphub.js-bestand aan:
{
"dir": "./src",
"allowDebug": false
}| Configuratie-item | Type | Standaard | Beschrijving |
|---|---|---|---|
dir | string | ./ | Hoofdmap van de componenten; uploaden/downloaden kan alleen binnen deze map en submappen |
allowDebug | boolean | false | Of de debugmodus is toegestaan |
proxy | object | — | Proxyregels, in dezelfde indeling als http-proxy-middleware |
.comphub.js exporteert volgens het modulesysteem van het project:
// CommonJS
module.exports = { dir: "./src" };
// ESM (package.json heeft "type": "module")
export default { dir: "./src" };Laadvolgorde: .comphub.json → .comphub.js → standaardwaarden. Prioriteit van de configuratie: commandoregelparameters > configuratiebestand > standaardwaarden.
Proxyregels
Componentdemo's draaien in een iframe en kunnen alleen de lokale service bereiken. Moet je een intranetbackend of een API zonder CORS-headers aanroepen, dan stuur je het verzoek met proxy door:
{
"proxy": {
"/api": {
"target": "http://10.0.0.5:8080",
"changeOrigin": true,
"pathRewrite": { "^/api": "" }
}
}
}In de demo doe je het verzoek zo:
fetch("/__proxy__/api/users");Toelichting op de regels:
- De key matcht het pad ná
/__proxy__, met prefix of reguliere expressie. - De waarde gaat ongewijzigd naar http-proxy-middleware;
targetis verplicht. pathRewritewerkt nadat het prefix/__proxy__is verwijderd.- Zonder treffende regel krijg je
404 {"message":"Proxy not found"}. - Regels gelden alleen voor het project dat ze declareert.
Bekijken en stoppen
comphub status # Bekijk de master en de projectlijst
comphub stop 94525912 # Stop een opgegeven project
comphub stop --all # Stop alle projecten
comphub kill # Sluit de master en alle projecten af
comphub fix # Ruim achtergebleven runtime-bestanden opstatus toont per project de hash, het pad en het toegangsadres. fix is bedoeld voor het geval een eerdere abnormale afsluiting runtime-bestanden heeft achtergelaten waardoor het starten mislukt.
Aanmelden
comphub loginDe CLI vraagt eenmalig om autorisatie en opent een browserpagina. Nadat je daar hebt bevestigd, worden de inloggegevens opgeslagen in ~/.comphub/credentials.json. Je hoeft per machine maar één keer aan te melden.
comphub login --no-browser # Alleen het autorisatieadres tonenEen autorisatiesessie is eenmalig: een sessie die op goedkeuring wacht verloopt na 2 minuten en de CLI wacht maximaal 5 minuten. Zijn de inloggegevens verlopen, voer dan opnieuw comphub login uit.
Een nieuwe versie publiceren
comphub upload is alleen voor componenten die al eerder zijn gepubliceerd. De eerste publicatie loopt via Uploaden en publiceren.
cd src/components/MyComponent
comphub upload -m "tooltip-positionering gecorrigeerd"| Parameter | Kort | Beschrijving |
|---|---|---|
--message | -m | Toelichting op de upgrade, verplicht |
--dry-run | — | Alleen valideren en tonen, niet indienen |
--dir | -d | Resourcemap, met dezelfde betekenis als bij het starten |
Bij het uitvoeren doet de CLI het volgende:
- Het project vinden waartoe het component behoort.
- Zorgen dat dat project een lokale service heeft (zo niet, dan start de CLI er een).
- De componentmap indienen; de server valideert, precompileert dependencies en uploadt.
Het indienen kan enkele minuten duren; de CLI hanteert een time-out van 10 minuten.
Het versienummer moet groter zijn dan de online versie
Is de version in de lokale comp.json niet groter dan de online versie, dan weigert de CLI direct. Hoog na het wijzigen van de code eerst het versienummer op en upload daarna. Wijzig je alleen de omschrijving of previewconfiguratie, gebruik dan de updatepagina.
Een component installeren
comphub install downloadt de broncode-zip van een gepubliceerd openbaar component en pakt die uit in de huidige map.
comphub install ThemeSwitch
comphub install ThemeSwitch@1.0.0
comphub install ThemeSwitch --force| Argument | Kort | Beschrijving |
|---|---|---|
<component> | — | Naam van het component; moet een gepubliceerd openbaar component zijn |
@versie | — | Optioneel; zonder versie wordt de nieuwste geïnstalleerd |
--force | -f | Vervangt ./<component>/ als het al bestaat |
--remote | — | Adres van de remote service, zelfde betekenis als bij andere commando's |
Bij het uitvoeren doet de CLI het volgende:
- Het component wordt op exacte naam gezocht tussen gepubliceerde openbare componenten.
- De broncode-zip wordt gedownload (kleine pakketten direct, grote via een ondertekende OSS-URL).
- De inhoud wordt uitgepakt naar
./<component>/, waarbij de mapcomponent_versie/uit de zip wordt verwijderd.
Je hebt geen login of lokale service nodig. Dependencies worden niet geïnstalleerd; volg de README van het component.
ThemeSwitch/
├── index.vue # index.jsx / index.tsx voor React
├── comp.json
├── README.md
└── demo/--force vervangt de map
De bestaande map wordt pas verwijderd nadat het nieuwe pakket is uitgepakt; als de laatste vervanging mislukt, is de oude map niet te herstellen. Commit lokale wijzigingen eerst.
Veelvoorkomende fouten:
- Component niet gevonden: alleen gepubliceerde openbare componenten zijn installeerbaar; de CLI toont nabije namen.
- Versie niet gevonden: de CLI toont de huidige gepubliceerde versie.
- Doel bestaat al: voeg
--forcetoe om te vervangen.
Meerdere projecten parallel
Verschillende projecten kunnen tegelijk draaien, elk met een eigen poort:
# Terminal 1
cd /path/to/project-a && comphub
# Terminal 2
cd /path/to/project-b && comphub
comphub statusVeelgestelde vragen
Bij het starten wordt gemeld dat je moet upgraden
Voer volgens de melding npm install comp-hub@latest -g uit en start daarna opnieuw.
Uploaden geeft een fout over het versienummer
De lokale versie is niet groter dan de online versie. Hoog version in comp.json op, of dien de metadata via de updatepagina in.
Indienen geeft een time-out / het resultaat is niet te bevestigen
Probeer niet direct opnieuw. Controleer eerst op het platform of de nieuwste versie al is bijgewerkt en beslis daarna of je opnieuw verstuurt.
Na het starten opent de browser niets
Controleer of je de volledige URL uit de terminal gebruikt (inclusief /{hash}/main/) en niet alleen de poort.
Volgende stappen
- De eerste publicatie: Uploaden en publiceren
- Componenten in de browser ontwikkelen: Studio gebruiken