我正在为react native开发一个按钮ui包.我try 构建一个示例项目来测试这个按钮.目录 struct 如下:

my-button/
    package.json
    index.js
    example/
        package.json
        index.js

我试着用npm link:

cd my-button
npm link

cd example
npm link my-button

example/node_modules/我可以看到我的按钮符号链接,VSCode也可以自动完成功能在我的按钮包.

但执行示例应用程序将显示错误:

Unable to resolve module my-button ...
Module does not exist in the module map or in these directories: ...

但错误消息中的路径是正确的.

不知道我错在哪里了,或者我有什么特殊的方法来处理链接本地依赖性吗?

我也试了npm install file:../.次.这样做很好,但在我编辑按钮后,在example/中更新依赖项并不容易.

推荐答案

npm link命令不起作用,因为React Native packager doesn't support symlinks.

经过一点研究,我发现有两种方法.

  1. 在示例应用中使用haul packager.HALL支持符号链接,因此可以像往常一样使用npm link.
  2. 使用local dependency via file:../,然后编辑node_modules文件夹中的文件,或者在每次进行更改时重新安装.

我发现Haul对这个用例非常有用,甚至设置了一个little starter project,其中也包括storybook,如果你有很多组件可以切换,这真的很有帮助.

React-native相关问答推荐

Appcenter构建失败错误号::EEXIST -文件存在于syserr_fail2_in

领带麦克风在Reaction-Native-Incall-Manager中不工作

Appcenter codepush 返回请求被阻止

应用管理

React Native 映射未定义不是函数

加载作为props传递的图像

如何在 React-Native 中创建检测自动位置的map

请求无法完成,因为您已超出配额

withNavigation 只能用于导航器的视图层次 struct

如何在react-native android中打开应用程序设置页面?

react Navigation 在标题中使用图像?

react-native 从右到左

SyntaxError: const 声明中缺少初始化程序

无法在 react native >= 0.60 中链接assets(字体)

在关闭 react-native 时更改 Switch 的 colored颜色

将 react-native 元素Bundle 为 iOS 框架或 (.aar) Android 库

React Native 将状态中的数组值应用为 Picker 项

React Native Android 负边距(Margins)

如何在 React Native 中等待 Alert 对话框的响应?

移动应用程序不需要 CORS?