Lokale require () - Pfade für React-Native

8

Ich suche nach einer bequemen Möglichkeit, auf Dateien im Stammverzeichnis meiner Anwendung zuzugreifen, während require () - Zeichenfolgen vermieden werden, die wie folgt aussehen:

%Vor%

Es gibt einige gute Lösungen für Knoten ( Ссылка ), aber ich habe noch keine Möglichkeit gesehen, global zu verwenden Variablen in Native Reagieren.

Hat jemand eine saubere Lösung für dieses Problem?

    
hoodsy 04.05.2015, 21:46
quelle

5 Antworten

14

Aus Marc Shillings Antwort auf Ссылка

  

Sie können einen absoluten Pfad für Importe verwenden / erfordert:

     

import {ProximaNovaText} from 'MyApp/src/components'; require('MyApp/src/utils/moment-twitter');

     

wobei 'MyApp' der Name ist, den Sie in Ihrer Datei index.ios.js registriert haben

Hinweis für VS-Code: Dies funktioniert, aber seien Sie gewarnt, dass Sie intellisense und Cmd / Strg + klicken können. Danke Johan für die Info über CS-Code

    
Tiagojdferreira 05.03.2016, 19:58
quelle
8

Sie können ein Verzeichnis als Paket markieren, indem Sie ein package.json innerhalb des Stammverzeichnisses hinzufügen, das Sie auflösen möchten.

z.B.:

%Vor%

package.json sollte folgendermaßen aussehen:

%Vor%
  

Starten Sie Ihren Packager neu

%Vor%

Nun können Sie in allen Ihren Projektdateien Folgendes verwenden:

%Vor%

Sie können diese Methode auch für andere Verzeichnisse in Ihrem Projekt verwenden. Ich glaube nicht, dass dies über require funktioniert, obwohl Bildpfade scheinbar funktionieren.

Wie in den Kommentaren erwähnt, können Sie die automatische Vervollständigung in Ihrem Editor (VSCode) verlieren.

Für Jetbrains IDEs gibt es einige laufende Tickets hier:

Dies könnte in der Zwischenzeit bei Jetbrains IDEs helfen.

%Vor%     
Anil 20.11.2016 17:20
quelle
6

Legen Sie den Code unten auf Ihre myModule -Datei:

%Vor%

Dann können Sie require('myModule') in anderen Dateien verwenden.

    
DoanND 28.06.2016 03:12
quelle
2

Ergänzt @Tiagojdferreira

Sie können seine Lösung mit der babel-plugin-modul-resolver-Bibliothek verwenden.

Installieren mit:

%Vor%

Konfigurieren Sie .babelrc die Plugins-Eigenschaft wie folgt hinzufügen:

%Vor%

Verwendung:

%Vor%

Hoffe, das hilft!

    
pedro.goes 07.04.2017 04:43
quelle
0

Sie können globale Variablen in reaktiven nativen verwenden, genauso wie Knoten, global definierte Eigenschaften sind global zugänglich.

z.B.

%Vor%

Die meisten Knotenlösungen im obigen Text sollten korrekt funktionieren.

In der Vergangenheit habe ich eine globale Funktion auf der obersten Verzeichnisebene definiert, normalerweise in der ersten Zeile wie

%Vor%

Was es einfach erlaubt, tief verschachtelte Anforderungen von der Wurzel zu haben, und vermeidet alle ../../ business.

Aber der andere Kommentar ist wahr, wenn das wirklich ein Problem ist, gibt es wahrscheinlich etwas strukturell mangelhaft mit dem Projekt.

    
deanmcpherson 08.07.2015 07:19
quelle