I am developing a button ui package for react native. I try to build an example project to test this button. The directory structure is as follows:
my-button/
package.json
index.js
example/
package.json
index.js
I try to use npm link
:
cd my-button
npm link
cd example
npm link my-button
In example/node_modules/
I can see my-button symlink, VSCode also can auto complete function in my-button package.
But execute example app will show error:
Unable to resolve module my-button ...
Module does not exist in the module map or in these directories: ...
But the path in the error message is correct.
Don't know where I was wrong, or in React-Native have any special way to deal with link local dependency?
I also tried npm install file:../.
. It works fine in this way, but not easy to update dependency in example/
after I edited my-button.
The npm link
command doesn't work because React Native packager doesn't support symlinks.
After a little research, I discovered that there are two ways to go about it.
npm link
as usual.file:../
and then edit files in node_modules
folder or reinstall every time you make changes.I found Haul to work great for this use-case and even set-up a little starter project that also includes storybook, which is really helpful if you have many components to switch between.