Wczytywanie i testowanie lokalne
Wczytaj zbudowaną obecność do rozszerzenia Nowly za pomocą gotowego pakietu deweloperskiego lub przeciągnięcia pliku zip.
Po nowly build <slug> nadal musisz umieścić ten pakiet w przeglądarce. Istnieją dwie lokalne metody wczytywania. Żadna z nich nie komunikuje się z API Nowly.
1. Gotowe rozszerzenie (nowly extension)
To zwykła ścieżka pierwszej konfiguracji. CLI pobiera deweloperski build Chrome lub Firefoksa i wbudowuje w niego skompilowaną obecność.
nowly build youtube
nowly extension youtube # Chrome (domyślnie)
nowly extension youtube --firefox
nowly extension youtube --f # Alias FirefoxMożesz podać kilka slugów:
nowly extension youtube github figma --firefoxOpcji przeglądarki nie można używać jednocześnie. Użyj --chrome / --c, aby jawnie wybrać Chrome.
Następnie:
- Chrome: Otwórz
chrome://extensions, włącz Tryb dewelopera i wybierz Załaduj rozpakowane →dist/extension-dev - Firefox: Otwórz
about:debugging#/runtime/this-firefox, wybierz This Firefox, kliknij Load Temporary Add-on... i wybierzdist/extension-dev-firefox/manifest.json
Obecność jest instalowana z dev-presences.json po uruchomieniu rozszerzenia. Po zmianie kodu przebuduj ją, uruchom ponownie nowly extension <slug> i przeładuj rozszerzenie.
Aby użyć lokalnego buildu zamiast zipa z CDN:
nowly extension youtube --chrome --from ../nowly/apps/extension/dist/chrome
nowly extension youtube --firefox --from ../nowly/apps/extension/dist/firefoxnowly extension zapisuje rozpakowany folder. Użyj go, gdy Nowly nie jest jeszcze wczytane w przeglądarce.
Pełne monorepo Nowly
Jeśli sklonowano nowly i uruchomiono pnpm repos (klonuje presences do packages/presences), możesz wbudować każdą zbudowaną obecność do rozszerzenia:
nowly build youtube
pnpm build:extension:dev --bundledWczytaj apps/extension/dist/chrome jako rozpakowane. Odśwież po każdym przebudowaniu.
2. Przeciągnięcie pliku zip (nowly pack)
Użyj tego, gdy Nowly jest już wczytane jako rozpakowany build deweloperski. Instalacje ze sklepu Chrome Web Store odrzucają niepodpisane pliki zip. Przebudowujesz tylko obecność, nie całe rozszerzenie.
nowly pack youtubeTo polecenie buduje obecność, a następnie pakuje dist/presences/youtube/ do dist/packs/youtube.zip. Plik zip musi zawierać co najmniej metadata.json i bundle.js. Zagnieżdżone foldery są w porządku.
Następnie w panelu bocznym:
- Otwórz Ustawienia → Zaawansowane
- Włącz Tryb dewelopera (zawsze włączony w rozpakowanych buildach)
- Rozwiń Debugowanie
- Upuść plik
.zip(lub wskaż go w przeglądarce plików)
Obecność instaluje się jako źródło lokalne. Czyszczenie przy starcie rozpakowanego builda jej nie usuwa. Niepodpisane pliki zip są akceptowane tylko w rozpakowanym buildzie (Załaduj rozpakowane). Przełącznik trybu dewelopera w Ustawieniach pokazuje tylko UI Debugowania; nie zezwala na instalację zip w buildzie sklepowym. Buildy sklepowe nadal wymagają podpisanego wydania z API.
Po każdej zmianie kodu:
nowly pack youtubeUpuść nowy plik zip ponownie. Nie musisz odświeżać rozpakowanego rozszerzenia, chyba że zmieniono samo rozszerzenie.
Którą metodę wybrać
| Sytuacja | Metoda |
|---|---|
| Pierwsza konfiguracja lub brak Nowly w przeglądarce | nowly extension <slug> |
| Nowly już wczytane, iteracja nad jedną obecnością | nowly pack <slug>, a następnie upuść plik zip |
| Pracujesz w pełnym monorepo nowly | pnpm build:extension:dev --bundled |
Zobacz też CLI.