ekr990011
ekr990011

Reputation: 744

npm Module to React Native

I’m trying to install the npm module wallet-address-validator in a React Native application. I am using expo for my development environment.

First I install wallet-address-validator

npm install wallet-address-validator

Then I run

expo start

And I get these errors

Expo Developer Tools is disconnected from Expo CLI. Use the expo start command to start the CLI again.

[14:23:00] Opening DevTools in the browser... (press shift-d to disable)

[14:23:02] Error: React native is not installed. Please run npm install in your project directory.

[14:23:02] Couldn't start project. Please fix the errors and restart the project.

[14:23:02] Set EXPO_DEBUG=true in your env to view the stack trace.

So I ran

npm install

Then I ran

expo start again

and I get this error

14:26

Recrawled this watch 1 times, most recently because: /home/dale/Desktop/Rails/TestApps/testApp: dir missing from internal state To resolve, please review the information on https://facebook.github.io/watchman/docs/troubleshooting.html#recrawl To clear this warning, run: watchman watch-del /home/dale/Desktop/Rails/TestApps/testApp ; watchman watch-project /home/dale/Desktop/Rails/TestApps/testApp

Upvotes: 1

Views: 275

Answers (1)

Dale Halling
Dale Halling

Reputation: 26

1) yarn add wallet-address-validator 2) npm install -g browserify 3) Create a file wav-in.js that imports the wallet-address-validator module and simply exports it:

var WAValidator = require('wallet-address-validator');
module.exports = WAValidator;

4) Then in the terminal in the project

browserify cwav-in.js -o wav.js

5) This will result in an error if you put in the test code below from Wallet-Address-validator in App.js

var WAValidator = require('wallet-address-validator');

var valid = WAValidator.validate('1KFzzGtDdnq5hrwxXGjwVnKzRbvf8WVxck', 'BTC'); if(valid) console.log('This is a valid address'); else console.log('Address INVALID');

6) You will however, get an error along the lines “… is not a function”

7) On line 3837 of wav.js change “var WAValidator = require('wallet-address-validator');” to “WAValidator = require('wallet-address-validator');”

8) On the very last line in of wav.js add “module.exports = WAValidator;”

everything should be working now

This article is also on point https://hackernoon.com/using-core-node-js-modules-in-react-native-apps-64acd4d07140

Upvotes: 1

Related Questions