Ich bin putting together a streamlined development process mit reagieren und reagieren native dass:Wie kann ich spezifische Knotenmodule der Abhängigkeiten meines Pakets in den Paketpackern von react-native auflisten?
- Pakete ermutigt,
- babel verwendet
es6
-js
zu transformieren (kompiliert es vor der Veröffentlichung/Installation), - einen Spielplatz hat, der uns Sie spielen mit native und Web components.
Der Web-Teil ist vollkommen in Ordnung. Es ist der Eingeborene, der Probleme verursacht, und es hat mit dem Packer von react-native zu tun.
Unterm Strich ist: wenn das Paket entweder durch npm link
verbunden ist oder direkt aus dem Spielplatz erforderlich wie in require('../../')
reagieren-native der Abhängigkeitsauflöser gehen immer versuchen node_modules
, die meiste Zeit Abhängigkeiten innerhalb meines Pakets zu identifizieren, es endet nie, es zu tun .
Die temporäre Lösung, die ich gefunden habe, ist die Installation des Pakets in Spielplatz, aber dies beinhaltet Neuinstallation es jedes Mal, wenn ich ein Update, das ist nicht toll, weil Sie Ihre Änderungen nicht sofort sehen können (auch wenn es wäre automatisiert, es würde Zeit brauchen).
Ich glaube, dass eine bessere Lösung wäre, den Abhängigkeits-Resolver zu bitten, jene spezifischen Module zu ignorieren, die ich nicht benötige (die in devDependencies
hauptsächlich!). Ich habe versucht, react-native/packager/blacklist.js Mangling durch Hinzufügen von Pfaden zu dieser Liste und sogar die Überprüfung gegen die dependency resolver, aber nichts davon würde funktionieren.
Kann mir jemand mit mehr Erfahrung mit dem Packager einen Hinweis geben, wie ich den Dependency Resolver passieren lassen würde? Alternativ wäre es großartig, wenn der Verpacker getrennt werden könnte und der Transformationsprozess der Wahl überlassen würde, aber ich weiß nicht, ob das auch machbar wäre.
ist es möglich, alle Dateien und Ordner für Regex-Pfad zu ignorieren? zum Beispiel, wie würdest du alles unter node_modules ignorieren? –
Sie wollen wirklich nicht alle Dateien unter node_modules 'ignorieren'. Dann wird deine App sicherlich nicht funktionieren. – Albert
Ab der reaktiven nativen 46. Die schwarze Liste wurde in "metro-bundler" verschoben. Beispiel hier: https://github.com/facebook/react-native/issues/7271#issuecomment-321842044 – Shiki