我正在使用react-native编写一个简单的Twitter应用程序.使用
twit模块获取Twitter提要和流.下面是代码,它工作正常.但是,当包含在我的react-native应用程序中时,看到错误“需要未知模块”加密“”.依赖性似乎是myapp-> twit-> oauth-> crypto(那是节点v0.12.2的一部分).有什么建议让这个在react-native环境中工作?
- var Twit = require('twit')
- var T = new Twit({
- consumer_key:'',consumer_secret:'',access_token:'',access_token_secret:''
- })
- var filtered_tweets=[];
- var error;
- var isSuccess=false;
- function getTweets(searchString){
- T.get('search/tweets',{q:searchString,count:100},getResponse);
- }
- function getResponse(err,data,response){
- if(err) {
- handleGetErr(err);
- }
- handleGetData(data.statuses);
- }
- function handleGetErr(err){
- enter code here
- error = err;
- }
- function handleGetData(data){
- data.map(function(tweet){
- var twit={
- twit:tweet.id,created_at:tweet.created_at,text:tweet.text,retweet_count:tweet.retweet_count,favorite_count:tweet.favorite_count
- };
- filtered_tweets.push(twit);
- });
- console.log(filtered_tweets);
- isSuccess=true;
- }
- getTweets("@sahaswaranamam");
- module.exports = getTweets;
![附] [2]
加密模块是内置的Node模块; React Native在JavaScriptCore(在设备或模拟器上)和Chrome本身(使用Chrome调试时)运行JS,因此依赖于内置Node.js模块的模块将无法运行.有关详细信息,请参阅React Native文档的
the JavaScript Runtime section.
我不确定集成到React Native应用程序有多难,但Browserify等浏览器模块捆绑包通常具有核心Node.js模块的浏览器版本,如this one for crypto
.