我的一般问题:我为react-native Android构建了一个本机组件。它有自己的依赖关系等。我按照说明编辑了package.json,删除了react-native的依赖项,现在正在测试包。对于本地反应的包,是否有任何特定的内容?
我收到的错误/警告:
我们说我建造的模块名为react-native-mymodule
。
我跑的命令:
$ npm install react-native-mymodule $ rnpm link react-native-mymodule
运行react-native run-android
时,在步骤:react-native-mymodule:bundleReleaseJsAndAssets
会引发以下错误:
module.js:341
throw err;
^
Error: Cannot find module '/path/to/my/test/project/node_modules/react-native-mymodule/node_modules/react-native/local-cli/cli.js'
at Function.Module._resolveFilename (module.js:339:15)
at Function.Module._load (module.js:290:25)
at Function.Module.runMain (module.js:447:10)
at startup (node.js:146:18)
at node.js:404:3
:react-native-mymodule:bundleReleaseJsAndAssets FAILED
这是否意味着,我必须为我的原生模块生成签名的APK?如果是这样,为什么在创建本机模块时这是必要的?
我还有四次得到以下警告:
WARNING: Dependency test_project:react-native-mymodule:unspecified on project app resolves to an APK archive which is not supported as a compilation dependency. File: /path/to/my/test_project/node_modules/react-native-mymodule/android/app/build/outputs/apk/react-native-mymodule-release-unsigned.apk
到目前为止,我在网络和反应原生文档中的搜索都没有成功。
答案 0 :(得分:2)
您可以从react-native-device-info这样的其他原生作品中学习,它是我能看到的最简单的react-native
库之一,它只有build.gradle
,AndroidManifest.xml
和两个Java类。
在你package.json
中,您不需要react-native
依赖关系,只需将其放入peerDependencies
部分,或者不要将其包含在package.json
中文件。