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