Website-Suche

node.js - Wie bündelt man eine statische YAML-Datei mit einer React Native App?


Ich möchte meine React Native App zusammen mit einigen statischen Assets, wie Bildern, Audiodateien und einer YAML-Datei, ausliefern.

Die Bilder können wie hier beschrieben automatisch gebündelt werden:

<Image source={require('./my-icon.png')} />

Jetzt versuche ich, dasselbe mit der YAML-Datei zu machen. Das scheint zu funktionieren:

let yamlContent = require('../data/content.yaml');

Wenn ich dies jedoch im Android-Simulator ausführe, erhalte ich einen Fehler:

error: bundling failed: Error: Unable to resolve module `../content.yaml` from 
`C:\Users\....\path\to\loader.ts`: 
The module `../content.yaml` could not be found from 
`C:\Users\....\path\to\loader.ts`. Indeed, none of these files exist:
  * `C:\Users\....\path\to\data\content.yaml(.native||.android.js|.native.js|.js|.android.json|.native.json|.json|.android.ts|.native.ts|.ts|.android.tsx|.native.tsx|.tsx)`
  * `C:\Users\....\path\to\content.yaml\index(.native||.android.js|.native.js|.js|.android.json|.native.json|.json|.android.ts|.native.ts|.ts|.android.tsx|.native.tsx|.tsx)`

Ich habe den Pfad in der Ausgabe noch einmal überprüft, die Datei existiert wirklich.

Wie kann ich statische YAML-Dateien in React Native lesen?

Ich habe denselben Code auch außerhalb von React Native in einer Node.js-Konsolenanwendung ausprobiert. In diesem Fall scheint die Datei gelesen zu werden (wenn das YAML fehlerhaft ist, erhalte ich einen Fehler). Allerdings ist das Objekt yamlContent immer ein leeres Javascript-Objekt.

Antwort #1

Schließen Sie 'packager' und löschen Sie den Ordner node_modules.

und dann alle Pakete mit dem Befehl npm install neu installieren

Verwandte Artikel