Tag: dat project

是否有可能在React Native中填充Node的fs.readFileSync()?

我想将许多为NodeJS编写的软件包移植到React Native。 为此,我使用stream行的Ignite样板创build了一个RN项目,然后使用了ReactNativify方法和shim节点API对象,主要是重用现有的browserify垫片 。 (有关详细信息和一些有用的提示,请参阅我们可以在反应原生应用程序中使用nodejs代码吗? 一些节点对象在编译后仍然被空的模拟replace,比如fs 。 在.babelrc做如下: ["module-resolver", { "alias": { "fs": "./config/mock", "sodium-universal": "libsodium" // etcetera } }] 包到端口包含了一些调用fs.readFileSync的传递依赖。 比如在其中的一个hypercore-protocol ,有这样一行代码: module.exports = protobuf(fs.readFileSync(path.join(__dirname, 'schema.proto'), 'utf-8')) 这是一个问题,因为Android和iOS不支持同步文件传输。 这条线看起来对我来说是un-shim-able 现在,虽然存在fs 反应 : react-native-level-fs,它并不实现同步文件系统方法。 然后有brfs转换,如brfs , “browserify fs.readFileSync()静态资产inliner” (及其替代bfrs-babel和babel-plugin-static-fs )。 但我不知道如何包括他们,如果他们甚至会在RN工作? 所以我看到了四种方法: find一种方法将react-native-level-fs和brfs合并成一个可用的垫片更换 写一个全新的fs垫片,有所有的方法 如果同步fs不可能(我认为是这样),那么以某种方式覆盖遍及调用同步方法的传递依赖关系树中的所有函数,并将其replace为本地代码库中的js代码片段 如果出现的次数太多,则确定软件包无法移植到React Native 我希望1.或者3.是工作解决scheme。 任何人都可以build议吗? 为了完整性。 我正处于人生的这个阶段: System platform linux arch […]