Ist es möglich, Lerna ( lernajs.io ) mit "React Native" zu verwenden? Ich versuche ein neues Projekt mit folgender Struktur zu erstellen:
%Vor% lerna bootstrap
scheint keine Probleme mit core
oder web
zu haben, aber mobile
(was ein Native-React-Projekt ist) weigert sich, das myapp-core
-Modul zu finden.
Ich erinnere mich, dass es in% Reactive Native ein Problem mit npm link
gibt. Ist das das Problem? Ist diese Funktionalität etwas, das irgendwann existiert?
Es sieht so aus wie von react-native: 0.40.0
, Lerna funktioniert wie erwartet. Ich habe eine minimale Demo-App erstellt, die ein shared
-Paket verwendet, um die Hintergrundfarbe einer React- und einer React Native-App für Interessierte zu ändern:
Schritte zum Reproduzieren:
cd
in npm install
./node_modules/.bin/lerna bootstrap
Dann können Sie jede App ausführen ( npm start
für react, react-native run-ios
für native Reaktion) und Sie werden feststellen, dass der Hintergrund basierend auf der Eingabe aus dem freigegebenen Repo auf rot geändert wurde. Wenn Sie neue Pakete hinzufügen, stellen Sie sicher, dass Sie das neue Paket zu jeder der relevanten package.json
-Dateien hinzufügen, genau wie ich shared
zu den Web- und mobilen Projekten hinzugefügt habe.
Beachten Sie, dass dieses Projekt das Lernprogramm --independent
von Lerna nicht nutzt.
Wie in Kommentaren erwähnt React Native Packager funktioniert nicht mit Symlinks . Das macht es unmöglich, Lerna zu verwenden, das Symlinks zu lokalen Unterpaketen aus demselben Monorepo erzeugt.
Glücklicherweise gibt es einen alternativen Packager, der Symlinks unterstützt. Funktioniert gut für mich bisher Ссылка
Ja, es ist möglich, einen Arbeitsbereich zu erstellen, um lerna mit reactive in nativer und Web-Plattform auszuführen.
In der Tat könnte ein Web-Mobile-Projekt in einem lernartigen Monorepo eine gute Wahl sein, wenn Sie JS-Logik in Ihrer App teilen möchten.
Als Beispiel den folgenden Monorepo erstellt:
Weitere Informationen finden Sie in:
Tags und Links react-native npm lerna