React Native:npm链接本地依赖,无法解析模块

新手上路,请多包涵

我正在开发一个按钮 ui 包以响应本机。我尝试构建一个示例项目来测试这个按钮。目录结构如下:

 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/ 我可以看到 my-button 符号链接,VSCode 也可以在 my-button 包中自动完成功能。

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

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

但是错误信息中的路径是正确的。

不知道我哪里错了,还是在 React-Native 中有什么特殊的方式来处理链接本地依赖?

我也试过 npm install file:../. 。它以这种方式工作正常,但在我编辑我的按钮后,在 example/ 中更新依赖关系并不容易。

原文由 Rick Liao 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1k
2 个回答

npm link 命令不起作用,因为 React Native 打包程序 不支持符号链接

经过一番研究,我发现有两种方法可以解决它。

  1. 在示例应用程序中使用 haul packager 。 Haul 支持符号链接,因此您可以像往常一样使用 npm link
  2. 通过 file:../ 使用本地依赖,然后在 node_modules 文件夹中编辑文件,或者每次进行更改时重新安装。

我发现 Haul 非常适合这个用例,甚至设置了一个包含 storybook小型启动项目,如果您有许多组件要在它们之间切换,这真的很有帮助。

原文由 pavloko 发布,翻译遵循 CC BY-SA 3.0 许可协议

遇到同样的问题。虽然我无法使 npm link 正常工作,但我通过在项目文件夹中安装本地包来解决它

npm install ../<package-folder> --save

这将像常规软件包一样安装软件包,但来自本地文件夹。缺点是您对包所做的更改不会被反映。每次更改后,您都必须 npm install

原文由 aayush shrestha 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏