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

标签 node.js typescript react-native

我想将我的 React Native 应用与一些静态 Assets (例如图像、音频文件和一个 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 文件?

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

最佳答案

关闭“packager”并删除 node_modules 文件夹。

然后使用 npm install 命令重新安装所有包

关于node.js - 如何将静态 YAML 文件与 React Native 应用程序捆绑在一起?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56376335/

相关文章:

React-Native:上拉时未调用 FlatList onRefresh。

android - React Native Eject 但仍然能够使用 React Native 代码

javascript - 使用 TypeScript 在 JavaScript 中关闭真正的私有(private)字段

javascript - TypeScript 中的数组声明

jquery - React Native 中的电子邮件验证

node.js - 如何在 node.js 中获取视频的长度

TypeScript 声明合并 - 更改属性类型

javascript - Puppeteer 如何检查页面是否已导航并在未导航时执行任务

node.js - npm 请求集主体

windows - 在 Windows 上将 --perf-basic-prof 选项与 Node 结合使用