我刚尝试将一些节点模块添加到react-native中。
我发现它只适用于react-native modules和react-native link
模块。
我想用: - https://www.npmjs.com/package/node-google-image-search 要么 - https://www.npmjs.com/package/first-image-search-load
此外,当我尝试通过以下方式添加此模块时:
import 'first-image-search-load'
import {saveFirstImage} from 'first-image-search-load'
import * from 'first-image-search-load'
var first-image-search-load = require('first-image-search-load');
var first-image-search-load = require('./first-image-search-load');
var first-image-search-load = require('./node-modules/first-image-search-load');
开发服务器返回响应错误代码:500
URL: http://10.0.2.2:8081/index.android.bundle?platform=android&dev=true&hot=false&minify=false
正文:{“message”:“无法解析模块https /Users/Pien/Projects/smog_bielsko/node_modules/node-google-image-search/index.js: 模块映射或这些目录中不存在模块:\ n /用户/片仔癀/项目/ smog_bielsko / node_modules /节点谷歌图像搜索/ node_modules \ N, / Users / Pien / Projects / smog_bielsko / node_modules \ n \ n这可能是 与https://github.com/facebook/react-native/issues/4968 \ n相关 请尝试以下操作:\ n 1.清除守望者监视:
watchman watch-del-all
。\ n 2.删除node_modules
文件夹:rm -rf node_modules && npm install
。\ n 3.重置打包程序缓存:{{1} }或rm -fr $TMPDIR/react-*
。“,”name“:”UnableToResolveError“,”type“:”UnableToResolveError“,”errors“:[{}]} onResponse DevServerHelper.java:323执行 RealCall.java:126运行 NamedRunnable.java:32 runWorker ThreadPoolExecutor.java:1113运行 ThreadPoolExecutor.java:588运行 Thread.java:818
请告诉我如何将正常的npm插件导入react-native ..
THX
答案 0 :(得分:1)
实际上,ReactNativify项目应该这样做,让我们在React-Native代码项目(RN)中使用NodeJS模块。
在我写这篇文章时,2017年5月,project seems to not work with RN versions 0.43.3+, due to breaking changes。
答案 1 :(得分:1)
Big Rich提供的有关答案的一些其他信息。
我不认为您使用ReactNativify填充方法可以解决您遇到的错误。否则,错误会提到缺少的Node API对象。
但是如果你的first-image-search-node
包是为Node编写的,并且做想要使用ReactNativify,那么你应该注意一些其他问题,我在这里记录了这些:< / p>
Can we use nodejs code inside react native application?
简而言之,它强调:
.babelrc
中写下所有垫片替换,而不是js code .babelrc
transformer.js
醇>
答案 2 :(得分:0)
您无需链接不使用本机代码的软件包。对于只有js的库,您需要做的只是npm install packageName
。如果该库具有任何html / css / dom内容,则它将无法与react native一起使用。