如何将静态YAML文件与React Native应用程序捆绑在一起?

时间:2019-05-30 10:21:43

标签: node.js typescript react-native

我想将我的React Native应用程序与一些静态资产(例如图像,音频文件和一个YAML文件)一起交付。

图像可以自动捆绑为described here

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

现在,我正在尝试对YAML文件执行相同的操作。这似乎可行:

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

但是,在Android模拟器中运行此程序时,出现错误:

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)`

我仔细检查了输出中的路径,该文件确实存在。

如何在React Native中读取静态YAML文件?

我还在Node.js控制台应用程序中在React Native之外尝试了相同的代码。在这种情况下,文件似乎已被读取(如果YAML格式不正确,则会出现错误)。但是,对象yamlContent始终是一个空Javascript对象。

1 个答案:

答案 0 :(得分:0)

关闭“打包程序”并删除 node_modules 文件夹。

,然后使用 npm install 命令

重新安装所有软件包