Verwenden Sie Lerna mit React Native?

8

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?

    
samcorcos 06.01.2017, 20:53
quelle

3 Antworten

7

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:

  1. klonen Sie den Repo und cd in
  2. npm install
  3. ./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.

    
samcorcos 10.01.2017, 22:02
quelle
1

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 Ссылка

    
Ihor Burlachenko 02.08.2017 13:48
quelle
0

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:

Ссылка

    
locropulenton 22.05.2017 11:25
quelle

Tags und Links